我是多分支管道概念的新手,并尝试在我们的项目中实现,我们在docker容器内运行jenkins构建。
我们要求所有针对“develop”分支的构建应该是 build和docker image 创建。其余创建“功能/热修复”分支的地方只需 build 。
我用以下方式写了一个Jenkinfile文件
node {
checkout scm
if (env.BRANCH_NAME == 'develop') {
stage ('Stage for develop') {
echo "Build,create an docker-image"
}
}
else if (env.BRANCH_NAME == 'feature_branch') {
stage ('Stage for feature branch') {
echo "only build"
}
}
else {
echo "Branch branch not found"
}
这里的问题是我们正在对功能分支名称进行硬编码,如果有人创建一个具有不同名称的分支并且Jenkinsfile无法识别它,这可能会出现问题。
我正在尝试以这样的方式编写,即Jenkinsfile必须自动识别新创建的分支,并且应该针对它运行构建。
任何帮助将不胜感激。
答案 0 :(得分:0)
node{
checkoutscmscript{
if(env.BRANCH_NAME=='develop'){
stage('Stagefordevelop'){
echo"Build,create an docker-image"
}
}else{
stage('Stageforfeature/hotfixbranch'){
echo" executing on ${env.BRANCH_NAME} "echo"only build"
}
}
}
}