"Build Periodically" With A Multi-branch Pipeline In Jenkins


Answer :

If you use a declarative style Pipeline and only want to trigger the build on a specific branch you can do something like this:

String cron_string = BRANCH_NAME == "master" ? "@hourly" : ""  pipeline {   agent none   triggers { cron(cron_string) }   stages {     // do something   } } 

Found on Jenkins Jira


If you are using a declarative style Jenkinsfile then you use the triggers directive.

pipeline {     agent any     triggers {         cron('H 4/* 0 0 1-5')     }     stages {         stage('Example') {             steps {                 echo 'Hello World'             }         }     } } 

I was able to find an example illustrating this an discarding old builds, which is also something I wanted.

Jenkinsfile in jenkins-infra/jenkins.io:

properties(     [         [             $class: 'BuildDiscarderProperty',             strategy: [$class: 'LogRotator', numToKeepStr: '10']         ],         pipelineTriggers([cron('H/30 * * * *')]),     ] ) 

Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable