1、安装插件:pipeline-multibranch-defaults(多分支流水线)
2、将jenkinsfile统一放到git目录去管理:(项目名和job名要一致)
#例:
--项目名称1
-分支1
-Jenkinsfile
-分支2
-Jenkinsfile
--app_server
-master
-Jenkinsfile
-dev
-Jenkinsfile
# 备注:Jenkinsfile中就是各个项目/分支真正的流水线脚本,比如一个完整的声明式pipeline。
3、在Jenkins系统管理中的Managed files中新建一个groovy脚本,作为默认的Jenkinsfile
#!/usr/bin/env groovy
import groovy.transform.Field
@Field def job_name=""
node()
{
// 获取当前job名称。也可以按需自定义
job_name="${env.JOB_NAME}".replace('%2F', '/').split('/')
job_name=job_name[0]
// 自定义workspace
workspace="/root/.jenkins/workspace"
ws("$workspace")
{
dir("pipeline")
{
// clone Jenkinsfile项目
git url: 'http://xx.xx.xx.xx/root/Jenkinsfile-manage.git'
// 根据job name、构建分支,自动加载对应的Jenkinsfile
def check_groovy_file="${job_name}/${env.BRANCH_NAME}/Jenkinsfile"
load "${check_groovy_file}"
}
}
}
// 该脚本的作用:clone包含所有Jenkinsfile的代码库,根据项目名称load对应的Jenkinsfile.
4. 新建Multibranch pipeline job,job名称保持和步骤1中的"项目名称"一致。 Build Configuration 中选择by default Jenkinsfile
,输入步骤3中的script ID。