jenkinsjenkins-pipelinemultibranch-pipeline

"Build Periodically" with a Multi-branch Pipeline in Jenkins


I'm running Jenkins 2 with the Pipeline plugin. I have setup a Multi-branch Pipeline project where each branch (master, develop, etc.) has a Jenkinsfile in the root. Setting this up was simple. However, I'm at a loss for how to have each branch run periodically (not the branch indexing), even when the code does not change. What do I need to put in my Jenkinsfile to enable periodic builds?


Solution

  • 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