jenkins清理僵尸任务和排队任务

步骤

进入 Manage Jenkins系统管理 然后点击 Script Console , 然后根据自己需求选择性执行后面的脚本

查看所有进程

Thread.getAllStackTraces().keySet().each() {
  t -> println("name:"+t.getName())
}

例如:

name:Thread-90
name:Scheduler-174573182-1
name:Thread-116
name:Thread-110
name:Thread-83
name:org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution [#52]
name:SCMTrigger [#10]

停止特定进程

Thread.getAllStackTraces().keySet().each() {
  t -> if (t.getName()=="刚才查出来的某条进程名字" ) {   t.interrupt();  }
}

删掉所有进程

Thread.getAllStackTraces().keySet().each() {
  t ->   t.interrupt(); 
}

清掉所有排队任务Build Queue

Jenkins.instance.queue.clear()

取消某个指定job

import hudson.model.*
 
def q = Jenkins.instance.queue
 
q.items.findAll { it.task.name.startsWith('JobName') }.each { q.cancel(it.task) }

参考

1. [jenkins]僵尸任务&排队任务清理
2. 终止Jenkins队列中某Job的所有排队任务
3. Jenkins: remove old builds with command line

你可能感兴趣的:(Jenkins,jenkins,运维,ci/cd,devops,经验分享)