Jenkins-系统管理-脚本命令行,
一、通过执行以下脚本进行清理Jenkins构建队列
Jenkins.instance.queue.clear()
二、通过执行以下脚本进行清空Jenkins构建队列并停止所有正在运行的作业
Jenkins.instance.queue.items.findAll { !it.task.name.contains("Extenda") }.each {
println "Cancel ${it.task.name}"
Jenkins.instance.queue.cancel(it.task)
}
Jenkins.instance.items.each {
stopJobs(it)
}
def stopJobs(job) {
if (job in jenkins.branch.OrganizationFolder) {
// Git behaves well so no need to traverse it.
return
} else if (job in com.cloudbees.hudson.plugins.folder.Folder) {
job.items.each { stopJobs(it) }
} else if (job in org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject) {
job.items.each { stopJobs(it) }
} else if (job in org.jenkinsci.plugins.workflow.job.WorkflowJob) {
if (job.isBuilding() || job.isInQueue() || job.isBuildBlocked()) {
job.builds.findAll { it.inProgress || it.building }.each { build ->
println "Kill $build"
build.doStop();
}
}
}
}
return true
https://gist.github.com/sasjo/6c0159d2a438f256b1127d1ef69b522d
网友评论