在Jenkins文件中,我想根据用户输入的变量进行判断。如果输入值不是预期值,我希望任务正常退出,但无论我在步骤脚本中使用退出0还是使用退出1,如下面的
steps {
script {
if ( BUILD_BRANCH == "'uat'||'prd'" ) {
echo "uat和prd环境 不允许重新构建!!"
exit 0
}
我会得到错误
java.lang.NoSuchMethodError: No such DSL method 'exit' found among steps [acceptGiteeMR, addGiteeMRComment, ansiColor, archive, bat...
或者如果我用sh 包起来
steps {
script {
if ( BUILD_BRANCH == "'uat'||'prd'" ) {
echo "uat和prd环境 不允许重新构建!!"
sh "exit 0"
}
执行命令时,不会报告错误或退出
如何在詹金斯文件中正常退出??
像下面这样也可以获得工作!
steps {
script {
if ( BUILD_BRANCH == "'uat'||'prd'" ) {
error "some msg"
}
使用return
而不是exit 0
。
此外,它不会退出整个Jenkinsfile。它的作用域是正在运行的闭包。因此return
将跳过该步骤。