【发布时间】:2016-03-31 05:31:40
【问题描述】:
我需要在作业完成后杀死 maven 启动的子进程。我尝试了Dhudson.util.ProcessTree.enabled=true,但它不会在作业完成后杀死所有java.exe 进程。所以我创建了一个批处理文件来杀死这些进程。
问题是,在 Jenkins 中执行此批处理文件之前,我必须确保当前没有正在进行的作业。有没有办法达到这个要求?
提前致谢。
【问题讨论】:
标签: jenkins
我需要在作业完成后杀死 maven 启动的子进程。我尝试了Dhudson.util.ProcessTree.enabled=true,但它不会在作业完成后杀死所有java.exe 进程。所以我创建了一个批处理文件来杀死这些进程。
问题是,在 Jenkins 中执行此批处理文件之前,我必须确保当前没有正在进行的作业。有没有办法达到这个要求?
提前致谢。
【问题讨论】:
标签: jenkins
Exclusive Execution Plugin 可能正是您所需要的。
来自其文档:
启用此选项后,每次构建都会执行一个预构建和一个构建后步骤:
预构建步骤:
- 插件将启动关闭模式,这意味着无法启动其他作业。
- 它一直等到除此之外的所有作业都完成,除非通过可选标志指示不等待。
- 然后它开始执行作业。
构建后步骤(即使构建不成功也始终执行):
- Jenkins 关机模式被取消
编辑:然后您可以将您的 kill-task 放在启用了独占执行的单独作业中,并将其作为构建后操作启动。
【讨论】: