我如何让闭包停止中止的构建而不会出现故障?
在我最初的詹金斯档案中,我有这样的东西:
node() {
println 'should print'
if (shouldStop()) {
return
}
println 'should NOT print'
}
# Output
should print
退出节点块会以当前具有的任何状态结束构建,并且不执行其他操作。
如果我在混合事物中有一个闭包,不需要的代码仍然会执行
withMyAction(closure) {
def result
try {
prepareEnv()
result = closure()
} finally {
cleanUp()
}
return result
}
node() {
println 'should print'
withMyAction {
if (shouldStop()) {
return
}
}
println 'should NOT print'
}
# Output
should print
should NOT print
看来我的选择是
throw new Exception
或error()
停止if status == ...
有没有一种方法可以让我提前停止构建而无需使用Jenkinsfile中的return
作为方法?