【发布时间】:2018-03-29 19:38:03
【问题描述】:
我有 Jenkins 管道,它由 2 个阶段组成,
我只想在特定条件下执行第二阶段,例如如果 git 分支不是 master。
当它在 bash 上时,我曾经使用简单的逻辑:
if [condition] {exit 0} else {stage2 function} fi
在 Jenkins 流水线 groovy 中怎么可能?
我的 Jenkinsfile 看起来像这样 -
pipeline {
agent any
stages {
stage ('First') {
steps {
echo "First"
}
if (env.BRANCH_NAME == 'master') {
echo 'First stage is enought, exit 0 shoul happened here'
currentBuild.result = 'SUCCESS'
return
} else {
echo 'Second stage must be executed'
}
}
stage('Second') {
steps {
echo "Second"
}
}
}
}
但是,它在脚本化管道中按预期工作 - https://github.com/kagarlickij/jenkins-pipeline/blob/scripted/Jenkinsfile
【问题讨论】:
-
用
steps块内的分支条件试试。