#jenkins-pipeline
#дженкинс-трубопровод #дженкинс-конвейер
Вопрос:
Есть ли способ избежать создания отдельного этапа для каждого условного оператора «когда» ? Другими словами, в приведенном ниже примере команда maven точно такая же для двух ветвей, за исключением одного параметра.
Итак, есть ли более простой способ создать один этап под названием «maven build» с условным выполнением на основе создаваемой ветви. Помимо утомительного дублирования, побочным эффектом этого является то, что в Jenkins вид «сцена» становится все длиннее и длиннее.
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:
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
}
}
}
}
}
Комментарии:
1. Это
env.BRANCH_NAME
в моем Дженкинсе/pipeline-syntax/globals