首页 > 解决方案 > 使用 Jenkins CLI (Windows) 运行所有作业时取消并重新启动卡住的作业

问题描述

我正在尝试使用 Jenkins cli 使用此命令按计划运行我的所有 Jenkins 作业并输出结果(到 results.txt)。

for /F "usebackq delims=" %%i IN (`java -jar jenkins-cli.jar -s <my_jenkins_url> list-jobs TestView`) DO java -jar jenkins-cli.jar -s <my_jenkins_url> build "%%i" -s >> results.txt

这是在 cmd 文件中运行并使用 Windows 任务计划程序。但是,一些 Jenkins 作业卡住了 - 似乎是随机的,使这个命令等待一段时间,阻止所有其他正在进行的作业运行。有时我会得到所有的结果。有时候我不...

我想知道是否有办法检测作业是否卡住并重新启动该作业或整个脚本。或某种其他方式来确保命令完成并且我有所有作业的结果。也许我们在一段时间后中止工作?

一个问题是,如果所有测试都成功运行,那么所有测试总共需要几个小时 - 而一个测试可能/应该需要 5 分钟,但最终会卡住一整天(如果不手动中止,可能几天)。我想知道一个特定的工作是否正在等待——比如 90 分钟——然后我们知道它被卡住了,我们应该重新启动它。

注意(以防万一): cmd 文件中还有其他命令可以解析结果并使用 then 执行操作,并在最后删除 results.txt 文件。我也知道,工作本身也应该被修复,以免卡住——那是完全不同的故事:)

标签: jenkinstimeoutcommand-promptjenkins-cli

解决方案


推荐阅读