Jenkins pipeline code auto trigger with multiple repositories through GitHub Organization Folder Plugin

不想你离开。 提交于 2019-12-03 11:42:05
Pom12

Yes, you can do that with the Pipeline script from SCM option in a pipeline job by specifying multiple repositories (click on Add Repository button), assuming you can watch the same branch for your 3 repositories, which seems to be your case.

With this configuration (and of course the Poll SCM option activated), a build will be triggered every time a change is made to one of your three repositories.

A few more hints about this solution:

  1. You need a Jenkinsfile in each repository
  2. If you commited on more than one project between two SCM polls the result will be unpredictable (either one of the two projects you just committed in could finally get built) so you should not depend on which project gets built.
  3. To solve previous point and also avoid code duplication, you should probably just load a generic script from each of your Jenkinsfile, such as:

Jenkinsfile in abc/def/ghi:

node {
    // --- Load the generic pipeline ---
    checkout scm: [$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'http://github/owner/pipeline-repo.git']]]
    load 'common-pipeline.groovy'
}()

common-pipeline.groovy script:

{ ->
    node() {
       git clone github.com/owner/abc.git
       git clone github.com/owner/def.git
       git clone github.com/owner/ghi.git            

       // Whatever you do with your 3 repos...
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!