我们的Jenkins服务器有一个已经运行了三天的作业,但是没有做任何事情。单击角落里的小X没有任何作用,控制台输出日志也没有显示任何内容。我在我们的构建服务器上检查过,该作业实际上似乎根本没有在运行。

有没有办法告诉jenkins工作已经“完成”了,比如编辑一些文件或锁之类的?因为我们有很多任务,所以我们并不想重新启动服务器。


当前回答

第一个提议的解决方案非常接近。如果使用stop()而不是interrupt(),它甚至会杀死在groovy系统脚本中无休止地运行的失控线程。这将杀死任何构建,任何工作。 代码如下:

Thread.getAllStackTraces().keySet().each() {
    if (it.name.contains('YOUR JOBNAME')) {  
      println "Stopping $it.name"
      it.stop()
    }
}

其他回答

进入蓝海用户界面。 试着从那里阻止他。

如果“X”按钮不起作用,作业被卡住,那么只需删除特定的版本号。这将解放遗嘱执行人。

在我的例子中,即使工作完成了,它仍然停留在执行者几个小时。删除构建对我来说是有效的。

你可以复制作业,然后删除旧的。如果你丢失了旧的构建日志没有关系的话。

我使用监控插件来完成这项任务。安装插件后

转到管理Jenkins >监控Hudson/Jenkins master 展开线程的细节,即右边的蓝色小链接 搜索挂起的作业名称 线程的名称将像这样开始 master的Executor #2:执行<your-job-name> #<build-number> 单击所需工作所在行的表格中最右边的红色圆形按钮

半小时前我也有同样的问题…

无法删除在我的多分支管道中运行的僵尸构建。 甚至服务器重启UI,甚至从命令行通过sudo服务jenkins重启 阻止了行刑…建造是无法停止的……它总是重新出现。

使用版本:Jenkins 2.150.2

我很生气,但是……在查看构建日志时,我在日志的末尾发现了一些有趣的东西:

红色标记的部分是“令人沮丧的部分”…… 正如你所看到的,我一直想要从UI中止构建,但它不起作用…

但是有一个文本超链接点击这里强制终止运行步骤…(第一个绿色的) 现在我按下了链接…) 在链接执行后,出现了关于仍然暂停的消息和另一个链接单击 这里强制杀死整个建筑(第二个绿色的) 在按下这个链接之后,这个构建也最终被硬杀了…

因此,这似乎不需要任何特殊的插件(除了多分支管道构建插件本身)。