使用“执行groovy脚本”构建步骤将自由形式作业结果设置为“失败

50few1ms  于 2023-03-17  发布在  其他
关注(0)|答案(2)|浏览(160)

我已经尝试了很多方法来将作业状态设置为FAILED而不打印堆栈跟踪。没有任何效果,因为“执行groovy脚本”步骤似乎无法访问任何作业变量。由于以下几个原因,我无法使用“执行系统groovy脚本”。我该怎么做?
当前构建。结果=“失败”
捕获到:groovy.lang.缺少属性异常:无此类属性:类的当前构建版本:赫德森4756676730102994092
生成.@result =“失败”
捕获到:groovy.lang.缺少属性异常:无此类属性:为类构建:赫德森
出口(1)
捕获到:groovy.lang。缺少方法异常:无方法签名:exit()适用于参数类型:(java.lang.整数)值:[一]
返回1
完成:成功

sh7euo9m

sh7euo9m1#

终于想明白了。
系统出口(1)
我有意识地避免了这个答案,因为在其他作业中,它会导致Jenkins自己关闭,但是,由于这不是系统Groovy代码,它只是退出Groovy脚本并返回错误代码。

euoag5mw

euoag5mw2#

对于任何非零退出代码,Jenkins将总是失败构建(并抛出异常)-这是不能改变的。

**例如:**如果您使用的是python之类的工具,则可以在try{}catch{}块中执行“raise”,以查看错误并使构建失败。(subprocess.check_call非常适合Jenkins,raise将返回一个非零退出代码,以正确地使作业失败。)

在Jenkins jobs中,我将直接调用“System.exit(1)”来使测试作业中的构建失败,以查看插件交互。

相关问题