如何删除 Jenkins 中不可停止的管道作业?

How do I remove an unstoppable pipeline job in Jenkins?

我正在使用 Jenkins 的 Pipeline(以前称为 Workflow)插件集合。我以某种方式设法在我的 Jenkins 服务器上创建了一个我无法停止的工作流作业。使用 Thread.getAllStackTraces().keySet().each() { t -> println(t.getName())} 查询当前堆栈跟踪不会 return 输出中匹配此作业的任何执行程序。最重要的是,如果这是构建执行器状态 window 中唯一的活动作业,则根本没有列出任何执行器。

重新启动正在执行作业的从站没有任何效果。重启 Jenkins 主服务器也没有效果。关于如何摆脱这件事有什么想法吗?

我可以通过向以下地址提交 POST 请求来停止作业: http://jenkins.fqdn:8080/job/$JobName/branch/$BranchName/8/term(注意 $JobName 和 $BranchName 变量)

我通过执行以下操作找到了这个 URI:

  1. 单击职位旁边的数字以导航至该职位。
  2. 单击控制台输出 link。
  3. 右键单击 "Click here to forcibly terminate running steps" link。
  4. 单击检查菜单项。 (这在 Chrome 中;根据您喜欢的浏览器调整此步骤)
  5. 从 Ajax.Request 调用中复制 URI。例如:onclick="new Ajax.Request('http://jenkins.fqdn:8080/job/$JobName/branch/$BranchName/8/term'); false"

出于某种原因,单击 Click here to forcibly terminate running steps link 并没有真正终止作业,但手动提交 post 请求却终止了。我怀疑这可能只是 UI 代码中的一个小错误。

我今天遇到了同样的问题,上面评论的解决方法对我没有帮助,发送 /kill 命令而不是 /term

我找到了 working solution here:

  1. 打开https://your.jenkins.fqdn/script
  2. 放置Jenkins.instance.getItemByFullName("jobName").getBuildByNumber(9).finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));
  3. 按下 "Run"

这是一个更简单的方法,对我来说效果很好。您需要做的就是编辑 html 页面中的 onclick 属性,方法是

  1. 打开挂起的作业(管道)的控制台日志
  2. 单击任何可用于终止作业的内容(x 图标、"Click here to forcibly terminate running steps" 等)以使 "Click here to forcibly kill entire build" link 可见(现在可以点击)
  3. 打开浏览器的控制台(对chrome使用三个中的任意一个:F12;ctrl + shift + i;菜单->更多工具->开发者工具
  4. 手动定位 "Click here to forcibly kill entire build" link 或使用控制台的 "select an element in the page" 按钮
  5. 双击 onclick 属性以编辑其值
  6. s 附加到 http 以获得 https
  7. 按回车键提交更改
  8. 点击"Click here to forcibly kill entire build"link

使用截图作为参考