我们的Jenkins服务器有一项已经运行了三天的工作,但是什么也没做。单击角落的小X不会执行任何操作,并且控制台输出日志也不会显示任何内容。我已经检查了我们的构建服务器,该工作实际上似乎根本没有运行。
有没有办法通过编辑某些文件或锁或其他内容来告诉jenkins该工作已“完成”?由于我们有很多工作,因此我们实际上并不想重启服务器。
转到“管理Jenkins”>“脚本控制台”以在服务器上运行脚本以中断挂起的线程。
您可以获取所有活动线程,Thread.getAllStackTraces()并中断正在挂起的线程。
Thread.getAllStackTraces()
Thread.getAllStackTraces().keySet().each() { t -> if (t.getName()=="YOUR THREAD NAME" ) { t.interrupt(); } }
更新:
上述使用线程的解决方案可能无法在最新的Jenkins版本上使用。并运行:
Jenkins.instance.getItemByFullName("JobName") .getBuildByNumber(JobNumber) .finish( hudson.model.Result.ABORTED, new java.io.IOException("Aborting build") );