当多工作阶段失败时,jenkins完全停止subjob

时间:2013-12-10 09:02:26

标签: jenkins jenkins-plugins

我有一个有两个工作的多工作阶段。当“成功”时,我添加条件“标记阶段成功”,但是当一个工作失败时,它不会停止另一个工作。简单地出来并执行构建后的操作。

当一个工作在同一阶段失败时,如何完全停止剩余的工作?

有没有什么方法可以阻止作业后期制作?

例:
多椎
- 第1阶段 - Job1
- Job2
- 第2阶段
- Job3
- Job4

如果第1阶段的'Job1'失败,则不会继续下一步并使构建失败。但是如果'Job1'失败,我想停止'Job2'。

1 个答案:

答案 0 :(得分:0)

我得到了解决方案,我们在jenkins中有“PostBuildScript”插件。有了这个,我们可以添加一个post build动作并选择要执行的任何脚本。

我选择了groovy脚本来做到这一点。以下脚本将停止MultiJob留下的作业。

    import hudson.model.*
    import jenkins.model.Jenkins
    for(c in Jenkins.instance.computers) {
      println("computer: "+c.name)
      for(e in c.executors) {
        println("name: "+e.name)
        if (e.name =~ /JOBNAME/){
          println("JOB : "+e.name)
          e.interrupt();
        }
      }
    }

看看这个“https://wiki.jenkins-ci.org/display/JENKINS/PostBuildScript+Plugin