从Multibranch管道

时间:2018-02-27 14:56:36

标签: jenkins-pipeline multibranch-pipeline

我是多分支管道概念的新手,并尝试在我们的项目中实现,我们在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必须自动识别新创建的分支,并且应该针对它运行构建。

任何帮助将不胜感激。

1 个答案:

答案 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"
            }
        }
    }
}
相关问题