0

我是多分支管道概念的新手,并试图在我们的项目中实施,我们在 docker 容器中运行我们的 jenkins 构建。

我们有一个要求,所有针对“开发”分支的构建都应该进行构建和 docker 镜像创建。其余创建的“功能/热修复”分支只需build .

我通过以下方式编写了一个 Jenkinsfile 文件

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 必须自动识别新创建的分支并应该针对它运行构建的方式编写。

任何帮助,将不胜感激。

4

1 回答 1

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"
            }
        }
    }
}
于 2018-02-27T19:26:19.957 回答