通过multibranch类型的pipeline job使得对于多个branch的支持更加简单。只需要创建一个multibranch job,jenkins将自动地为所有的branch创建job。
文章来自:http://www.ciandcd.com
文中的代码来自可以从github下载: https://github.com/ciandcd
文中用到的repo:https://github.com/ciandcd/example_jenkins_multibranch.git, 包含了master和b1两个branches。
1. Jenkinsfile内容如下:
https://github.com/ciandcd/example_jenkins_multibranch/blob/b1/Jenkinsfile
https://github.com/ciandcd/example_jenkins_multibranch/blob/master/Jenkinsfile
node (){
stage 'Build and Test'
env.PATH = "${tool 'M3'}/bin:${env.PATH}"
checkout scm
sh 'mvn clean package'
}
注意这里的checkout scm,不需要指定具体的git url。
2. 新建multibranch pipeline job
2. 自动为每个branch生成job
在multibranch pipeline job保存后,jenkins自动地检查所有的branch,且自动地为所有的branch创建job。
例如上面的job,自动地生成了文件夹pipeline_multibranch,且在此文件夹下自动地为master和b1生成了job。
然后可以自由的选择运行某些branch的job。
3. GitHub Organization or New Item → Bitbucket Team
类似地,还可以安装插件github organiztion 或 bitbucket team来自动地为所有的项目创建multibranch pipeline job。