如何删除 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:
- 单击职位旁边的数字以导航至该职位。
- 单击控制台输出 link。
- 右键单击 "Click here to forcibly terminate running steps" link。
- 单击检查菜单项。 (这在 Chrome 中;根据您喜欢的浏览器调整此步骤)
- 从 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:
- 打开https://your.jenkins.fqdn/script
- 放置
Jenkins.instance.getItemByFullName("jobName").getBuildByNumber(9).finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));
- 按下 "Run"
这是一个更简单的方法,对我来说效果很好。您需要做的就是编辑 html 页面中的 onclick
属性,方法是
- 打开挂起的作业(管道)的控制台日志
- 单击任何可用于终止作业的内容(x 图标、"Click here to forcibly terminate running steps" 等)以使 "Click here to forcibly kill entire build" link 可见(不现在可以点击)
- 打开浏览器的控制台(对chrome使用三个中的任意一个:F12;ctrl + shift + i;菜单->更多工具->开发者工具)
- 手动定位 "Click here to forcibly kill entire build" link 或使用控制台的 "select an element in the page" 按钮
- 双击
onclick
属性以编辑其值
- 将
s
附加到 http
以获得 https
- 按回车键提交更改
- 点击"Click here to forcibly kill entire build"link
使用截图作为参考
我正在使用 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:
- 单击职位旁边的数字以导航至该职位。
- 单击控制台输出 link。
- 右键单击 "Click here to forcibly terminate running steps" link。
- 单击检查菜单项。 (这在 Chrome 中;根据您喜欢的浏览器调整此步骤)
- 从 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:
- 打开https://your.jenkins.fqdn/script
- 放置
Jenkins.instance.getItemByFullName("jobName").getBuildByNumber(9).finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));
- 按下 "Run"
这是一个更简单的方法,对我来说效果很好。您需要做的就是编辑 html 页面中的 onclick
属性,方法是
- 打开挂起的作业(管道)的控制台日志
- 单击任何可用于终止作业的内容(x 图标、"Click here to forcibly terminate running steps" 等)以使 "Click here to forcibly kill entire build" link 可见(不现在可以点击)
- 打开浏览器的控制台(对chrome使用三个中的任意一个:F12;ctrl + shift + i;菜单->更多工具->开发者工具)
- 手动定位 "Click here to forcibly kill entire build" link 或使用控制台的 "select an element in the page" 按钮
- 双击
onclick
属性以编辑其值 - 将
s
附加到http
以获得https
- 按回车键提交更改
- 点击"Click here to forcibly kill entire build"link
使用截图作为参考