我正在使用Jenkins的Pipeline(以前的Workflow)插件集合。我以某种方式设法在我的Jenkins服务器上创建了一个我无法阻止的工作流作业。使用Thread.getAllStackTraces().keySet().each() { t -> println(t.getName())}
查询当前堆栈跟踪不会返回与此作业匹配的输出中的任何执行程序。最重要的是,如果这是Build Executor Status窗口中唯一的实时作业,则根本没有列出执行程序。
重新启动正在执行作业的从站无效。重新启动Jenkins主服务器也没有任何效果。关于如何摆脱这件事的任何想法?
答案 0 :(得分:9)
我能够通过提交POST请求来停止工作:
http://jenkins.fqdn:8080/job/$JobName/branch/$BranchName/8/term
(注意$ JobName和$ BranchName变量)
我通过执行以下操作找到了此URI:
出于某种原因,单击onclick="new Ajax.Request('
链接实际上并未终止作业,但是手动提交发布请求。我怀疑它可能只是UI代码中的一个小错误。
答案 1 :(得分:4)
我今天遇到了同样的问题,上面的评论中的解决方法对我没有帮助,也没有发送/kill
命令而不是/term
。
Jenkins.instance.getItemByFullName("jobName").getBuildByNumber(9).finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));
答案 2 :(得分:1)
这是对我有效的很多次更简单的方法。您需要做的就是按照以下说明编辑html页面中的onclick
属性
onclick
属性以编辑其值s
附加到http
以拥有https