我需要在作业完成后杀死maven启动的子进程。我尝试了Dhudson.util.ProcessTree.enabled=true
但是在作业完成后它并没有杀死所有java.exe
进程。所以我创建了一个批处理文件来杀死这些进程。
问题是,我必须确保在Jenkins中执行此批处理文件之前当前没有任何作业正在进行中。有没有办法达到这个要求?
先谢谢。
答案 0 :(得分:2)
Exclusive Execution Plugin可能正是您所需要的。
从其文档:
启用此选项后,对于每个构建,都会执行一个预构建和一个构建后的步骤:
预构建步骤:
- 插件将启动关机模式,这意味着无法启动其他作业。
- 除非指示不等待通过可选标志,否则它将一直等到除此之外的所有作业完成。
- 然后它开始执行这项工作。
构建后的步骤(即使构建不成功也始终执行):
- Jenkins关闭模式已取消
编辑:然后,您可以将kill-task放入启用了独占执行的单独作业中,并将其作为构建后操作启动。