当舞台不稳定时停止管道

Vla*_*lad 9 jenkins-workflow

我有一个使用工作流插件创建的Jenkins构建管道.在开始时,管道在docker容器内部运行gulp构建,然后使用以下代码存档测试结果

step([$class: 'JUnitResultArchiver', testResults: 'build/test-results/*.xml'])
Run Code Online (Sandbox Code Playgroud)

在以下步骤中,我将工件打包并将它们发送到二进制存储库.

当单元测试未通过时,Jenkins了解构建不稳定并将其标记为黄色.然而,它仍然继续在管道中的后续步骤.当单元测试失败时,有没有办法让管道停止?

por*_*nez 8

当构建不稳定时,JUnitResultArchiver将导致此条件为真:

currentBuild.result != null.

如果我没记错的话,它将它设置为不稳定,但它足以检查是否与null不同.

所以你可以做点什么

step([$class: 'JUnitResultArchiver', testResults: 'build/test-results/*.xml'])
if (currentBuild.result == null) {
    //contintue with your pipeline
} else {
    //notify that the build is unstable. //or just do nothing
}
Run Code Online (Sandbox Code Playgroud)