有没有一种方法可以避免为每个条件“何时”语句创建一个单独的阶段?换句话说,在下面的示例中,除了一个参数外,两个分支的maven命令完全相同。
因此,有没有更简单的方法可以使一个名为“ maven build”的阶段具有基于正在构建的分支的条件执行。除了繁琐的重复之外,这样做的副作用是,在詹金斯,“舞台”观点变得越来越长。
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.
}
}
}
答案 0 :(得分: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
}
}
}
}
}