通過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。
