詹金斯:如果触发的工作失败,如何防止下一步?

时间:2016-01-02 14:44:00

标签: jenkins

我需要在jenkins中拥有以下内容:

  • 3个工作
    • 作业一个
    • 作业-B
    • job-c
  • job-a应该触发job-b然后触发job-c
  • 如果job-b失败,
  • job-c不应该运行

我正在使用

每个执行触发器中都有

Fail this build step if the triggered build is worse or equal to FAILURE

但是,当我设置它时,我得到以下日志:

Waiting for the completion of job-b
job-b #60 completed. Result was FAILURE
Waiting for the completion of job-c
job-C #14 completed. Result was SUCCESS

这清楚地表明,即使在工作-b失败之后,job-c仍然运行。

我还缺少什么?

1 个答案:

答案 0 :(得分:2)

解决此问题的方法不止一个。

选项1
此方案的最简单方法是将每个作业配置为在 Post-Build Step 中触发下一个作业。然后,您可以指定是否应触发以下作业,具体取决于作业状态,如下所示:

Post-Build Step

这意味着,您可以将job-a配置为触发job-b 即使构建失败job-b仅触发job-c 如果构建成功

这种解决方案有点“快速而肮脏”。并不完全符合您的要求。即使你将有更多的工作,管理它们也会变得很麻烦。

选项2
另一种选择是使用Multijob Plugin

安装插件后,您可以通过选择 MultiJob Project 来创建job-a。然后,您必须添加 MultiJob阶段作为工作阶段。在那里你添加你的工作(job-bjob-c)并将 job-b

multijob phase