Jenkins-当前没有作业运行时运行批处理文件

时间:2016-03-31 05:31:40

标签: jenkins

我需要在作业完成后杀死maven启动的子进程。我尝试了Dhudson.util.ProcessTree.enabled=true但是在作业完成后它并没有杀死所有java.exe进程。所以我创建了一个批处理文件来杀死这些进程。

问题是,我必须确保在Jenkins中执行此批处理文件之前当前没有任何作业正在进行中。有没有办法达到这个要求?

先谢谢。

1 个答案:

答案 0 :(得分:2)

Exclusive Execution Plugin可能正是您所需要的。

从其文档:

  

启用此选项后,对于每个构建,都会执行一个预构建和一个构建后的步骤:

     

预构建步骤:

     
      
  • 插件将启动关机模式,这意味着无法启动其他作业。
  •   
  • 除非指示不等待通过可选标志,否则它将一直等到除此之外的所有作业完成。
  •   
  • 然后它开始执行这项工作。
  •   
     

构建后的步骤(即使构建不成功也始终执行):

     
      
  • Jenkins关闭模式已取消
  •   

编辑:然后,您可以将kill-task放入启用了独占执行的单独作业中,并将其作为构建后操作启动。