美文网首页
Jenkins清空Jenkins构建队列并停止所有正在运行的作业

Jenkins清空Jenkins构建队列并停止所有正在运行的作业

作者: 87d6dc4b11a7 | 来源:发表于2022-12-09 10:46 被阅读0次

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

相关文章

网友评论

      本文标题:Jenkins清空Jenkins构建队列并停止所有正在运行的作业

      本文链接:https://www.haomeiwen.com/subject/vcezfdtx.html