【发布时间】:2020-07-20 19:15:00
【问题描述】:
所以我有一个多阶段管道构建。
其中一个阶段运行 pytest - 后续阶段获取测试结果。
因为存在测试失败,pytest 返回非零退出代码,导致 jenkins 在该步骤停止并标记构建失败(红色)
如果我不返回非零退出代码,则构建标记为不稳定,因为有失败的测试。
但是,构建并没有在那个时候停止。
现在我想做的是能够在那时停止构建,这样我就不会在测试失败后调用任何后续阶段......但没有将构建标记为失败.但是,我确实希望后期阶段仍然运行,然后将构建标记为不稳定(因为没有错误,只有测试失败)。
理想情况下,我想要一个管道命令“stopBuild(unstable)”或类似的东西。
“测试失败时构建失败”很好,因为它会停止构建 - 即不运行任何后续阶段。当我检测到测试失败时,我也想要这种行为。
检测到测试失败时的默认行为是继续运行构建。
我真的不想添加另一个阶段来阻止后续阶段运行......我当然不想在任何后续阶段中放置过滤器。
【问题讨论】:
标签: python jenkins jenkins-pipeline