4

We have a gitlab enterpise that host multiple project in one repo. Something like:

Repo/
  projectA/
  projectB/
  projectC/

We have three pipelines that will run base on changes(whitelist region) when polling. They will start polling when received a curl via the notifyCommit? in another job.

However, the pipeline can only work on branch that is run previously.

I have also try to use parameters $branch on branch to build and update the curl job with parameters like:

http://ourjenkins/git/notifyCommit?url=git_url.git&branch=$GIT_BRANCH

but, it still will only poll the last run branch.

Does anyone know how we can have the declarative pipeline to poll multiple branches and run only base on whitelist directory changes?

Zac Kwan
  • 151
  • 1
  • 2
  • 7
  • 4
    Have you tried using a multibranch pipeline job? See https://jenkins.io/doc/book/pipeline/multibranch/ – mghicks Nov 21 '17 at 18:13
  • Yes, I definitely recommend the multibranch pipeline plugin. You can also filter by branch name if there is a common naming convention. – Preston Martin Nov 16 '18 at 15:18

1 Answers1

1

One could use the PollSCM plugin.

https://jenkins.io/doc/book/pipeline/syntax/

triggers { pollSCM('H 4/* 0 0 1-5') }

The pollSCM trigger is only available in Jenkins 2.22 or later.

030
  • 13,235
  • 16
  • 74
  • 173