从groovy脚本生成Jenkins失败
我有一个groovy脚本,可以运行并升级代码。长话短说,我知道在那个剧本中的某个时刻,它是否成功。如果不成功,我希望构建失败。groovy中有没有办法使构建失败 例如: 在“执行Groovy脚本”插件中。您可以编写代码从groovy脚本生成Jenkins失败,jenkins,Jenkins,我有一个groovy脚本,可以运行并升级代码。长话短说,我知道在那个剧本中的某个时刻,它是否成功。如果不成功,我希望构建失败。groovy中有没有办法使构建失败 例如: 在“执行Groovy脚本”插件中。您可以编写代码 (插入API调用以提升代码) if(checkPromote()){ //此处构建失败 } 其中“checkPromote”根据升级的状态返回true或false值。声明性管道dsl有一个错误步骤: error('Failing build because...') 请参阅并搜
(插入API调用以提升代码)
if(checkPromote()){
//此处构建失败
}
其中“checkPromote”根据升级的状态返回true或false值。声明性管道dsl有一个错误步骤:
error('Failing build because...')
请参阅并搜索页面中的“错误信号”
这也可以做到:
sh "exit 1"
我通常使用一些简单的方法,比如
抛出新异常(“错误消息”)
,因此您可以尝试:
if(checkPromote()){
throw new Exception("Error Message")
}
希望这也适用于您从本页开始
在我看来,中止程序最优雅的方式是断言
断言条件:“生成失败,因为…”
从脚本返回非零exitcode。如果你的建筑失败,那是我第一次尝试的return-1
不起作用。我还尝试return false
。如果您提供构建文件的片段和编辑问题的设置说明,可能会有所帮助。这不是管道作业。这是自由泳project@Eddie你确定?我不认为自由式项目有groovy脚本。@奇点是的,你试过吗?您已经看到了以下错误org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:Scripts不允许使用新的hudson.AbortException
@acm Yes它可以工作,尽管您必须首先批准AbortException的构造函数,但请清楚地看到,这不包括不必要的堆栈跟踪。
import hudson.AbortException
//other code
throw new AbortException("Error message .")