我正试图在Jenkins创造一个两步走的工作。我希望第二步只在第一步失败的情况下运行。(第一步执行单元测试以查看我正在编译的代码是否正确--如果不是,那么我想在第二步中运行一些诊断程序)。
对于这一点,有条件的阶梯塞似乎是一个很好的选择。但是,当第一步失败时,我不知道如何使用条件步骤插件来运行第二步。
条件步骤插件提供了一个条件列表,如‘Never’、‘Boolean Condition’……和‘当前构建状态’。我认为我应该使用“当前构建状态”条件,并将最差状态设置为“失败”,将最佳状态设置为“不稳定”。然后,如果第一步失败,第二步将运行。
然而,这似乎存在一个问题。当第一步失败时,Jenkin‘s会在该点停止作业。因此,第二步永远没有机会评估它的状况,看看它是否应该运行。
所以我不明白如何在条件步骤插件中使用‘当前构建状态’失败--就好像构建已经失败了,我们永远不会进入条件步骤。如何在步骤1中将构建状态标记为失败,而不是让Jenkins在该点停止作业?
多谢
戴夫·辛克莱
2条答案
按热度按时间33qvvth11#
一个不得体的解决办法是使用“构建后任务插件”。它可以解析构建日志。因此,您可以将其设置为检查失败日志语句。一旦找到,您就可以启动一个脚本。也许您可以通过此脚本触发第二次构建。
我相信,在构建后任务生态系统中,还会有其他一些优雅的选择。我正在关注这个问题,请Jenkins的Maven来回答。
ebdffaop2#
您可以创建始终成功的脚本构建步骤。在该脚本中,您可以在一切正常时创建一个文件,在出现问题时创建另一个文件。您可以在两个单独的条件生成步骤中检查文件是否存在。例如: