在我正在开发的项目中,我们使用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);
Run Code Online (Sandbox Code Playgroud)
在Jenkins术语中,不稳定的构建被定义为
如果构建成功并且一个或多个发布者报告它不稳定,则构建不稳定.例如,如果配置了JUnit发布者并且测试失败,则构建将标记为不稳定.
在运行shell脚本时,如何让Jenkins将构建标记为不稳定而不是仅成功/失败?