Jenkins - 在删除工作区操作开始之前终止进程

时间:2016-11-03 12:39:27

标签: jenkins

我正在Jenkins工作,在远程计算机上运行Nunit测试。 我正在使用Jenkins的Workspace Cleanup Plugin插件(https://wiki.jenkins-ci.org/display/JENKINS/Workspace+Cleanup+Plugin)来清理我的工作区。

问题是我想在我的机器上执行任务杀死一些进程(因为否则我无法删除工作区 - 一些文件将被使用并且因此无法删除)并且我想要之前 删除操作发生(它始终是作业上的第一个操作)。

我知道插件中有一个选项 - “外部删除命令” - 但这会在工作区中的所有文件上运行命令,因为我需要它只运行一次(不是在一个sepsific工作区文件 - 即只有这个命令:“c:/ workspace / taskill nunit”)

有办法吗? 感谢

1 个答案:

答案 0 :(得分:1)

如果我可以建议使用另一种方法来使用名为LockHunter且具有API的应用来解锁和删除您的工作区。它更多" sergical"而不是删除随机任务,并希望它是你想要的那个。 您可以使用"在SCM"之前运行,从命令行触发它。并且它将处理您特定工作区的删除和解除阻止。

您也可以使用:

" cmd / c wmic / INTERACTIVE:OFF路径win32_process其中\\" CommandLine喜欢'%workspace%' \\"呼叫终止"

%workspace%是您当前的工作空间。这将覆盖当前正在运行的所有任务并检查命令行路径,然后它会为找到的任何内容调用terminate。

祝你好运!