如何通过jenkinsfile正常退出jenkins任务而不会出错



在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将跳过该步骤。

最新更新