我正在使用Jenkins的Pipeline(以前的Workflow)插件集合 . 我已经设法在我的Jenkins服务器上创建了一个工作流作业,我无法阻止 . 使用 Thread.getAllStackTraces().keySet().each() { t -> println(t.getName())}
查询当前堆栈跟踪不会返回与此作业匹配的输出中的任何执行程序 . 最重要的是,如果这是Build Executor Status窗口中唯一的实时作业,则根本没有列出执行程序 .
重新启动正在执行作业的从站无效 . 重新启动Jenkins主服务器也没有任何效果 . 有关如何摆脱这件事的任何想法?
2 回答
我能够通过提交POST请求来停止工作:
http://jenkins.fqdn:8080/job/$JobName/branch/$BranchName/8/term
(注意$ JobName和$ BranchName变量)我通过执行以下操作找到了此URI:
单击作业旁边的数字以导航到该确切的作业 .
单击“控制台输出”链接 .
右键单击"Click here to forcibly terminate running steps"链接 .
单击“检查”菜单项 . (这是在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
链接可能只是UI代码中的一个小错误 .我've got the same problem today and workaround from the comment above didn' t帮助我以及发送
/kill
命令而不是/term
.我找到working solution here:
OPEN https://your.jenkins.fqdn/script
PUT
Jenkins.instance.getItemByFullName("jobName").getBuildByNumber(9).finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));
新闻"Run"