При использовании декларативного синтаксиса, есть ли способ избежать отдельных этапов для каждого условия «когда»? - PullRequest
1 голос
/ 24 апреля 2019

Есть ли способ избежать создания отдельной стадии для каждого условного оператора "когда"?Другими словами, в приведенном ниже примере команда maven одинакова для двух ветвей, за исключением одного параметра.

Итак, есть ли более простой способ иметь один этап, называемый 'maven build', с условным выполнением на основе создаваемой ветви.Помимо утомительного дублирования, побочным эффектом этого является то, что в Jenkins представление «stage» становится длиннее и длиннее.

       pipeline{
       :
       :
       stage('Maven Build (develop)'){
        when{
            branch 'develop'
        }
         steps {
                // Do these steps 
              }
          }

    stage('Maven Build (release)'){
        when{
            branch 'releases/**'
        }
          steps {
                // Do same steps as in the previous Maven Build but 
                // with a minor change. 
          }
        }
       }

1 Ответ

1 голос
/ 25 апреля 2019
pipeline {

    stage('Maven build') {
        steps {
            echo "Build on branch ${env.GIT_BRANCH}"
            // do the same steps

            script {
                if(env.GIT_BRANCH.startsWith("releases")) {
                    // do the diff steps only for non-develop branch
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...