一尘不染

运行Shell脚本时如何在Jenkins中将构建标记为不稳定

jenkins

在我正在研究的项目中,我们正在使用Shell脚本执行不同的任务。有些是运行rsync的sh /
bash脚本,有些是PHP脚本。PHP脚本之一正在运行一些集成测试,这些测试将输出到JUnit XML,代码覆盖率报告等。

Jenkins能够 根据 退出状态
将作业标记为成功/失败 。在 PHP中,如果脚本 在运行期间检测到测试失败, 则以1退出
。其他shell脚本运行命令并使用其中的退出代码将构建标记为失败。

// :: End of PHP script:
// If any tests have failed, fail the build
if ($build_error) exit(1);

Jenkins术语中,不稳定的构建定义为:

如果构建成功构建并且一个或多个发布者报告该构建不稳定,则该构建不稳定。例如,如果配置了JUnit发布者并且测试失败,则将构建标记为不稳定。

运行Shell脚本时,如何让Jenkins将构建标记为不稳定,而不仅仅是成功/失败?


阅读 726

收藏
2020-07-25

共1个答案

一尘不染

使用Text-finder插件。

而不是退出状态1(这将使构建失败),请执行以下操作:

if ($build_error) print("TESTS FAILED!");

在生成后操作中,将启用“文本查找器”,设置正则表达式以匹配您打印的消息(TESTS FAILED!),然后选中该条目下的“如果找到则不稳定”复选框。

2020-07-25