Видалення великої черги в Jenkins
Для видалення великої черги збірок Jenkins, зробіть наступні кроки в Dashboard → Manage Jenkins:
-
Відключіть створення нових збірок кнопкою Prepare for Shutdown:
-
Після цього зайдіть до секції Script Console:
-
Виконайте наступний скрипт:
import java.util.ArrayList import hudson.model.*; // Remove everything which is currently queued def q = Jenkins.instance.queue for (queued in Jenkins.instance.queue.items) { q.cancel(queued.task) } // stop all the currently running jobs for (job in Jenkins.instance.items) { stopJobs(job) } def stopJobs(job) { if (job in com.cloudbees.hudson.plugins.folder.Folder) { for (child in job.items) { stopJobs(child) } } else if (job in org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject) { for (child in job.items) { stopJobs(child) } } else if (job in org.jenkinsci.plugins.workflow.job.WorkflowJob) { if (job.isBuilding()) { for (build in job.builds) { build.doKill() } } } }
-
Якщо збірки продовжують створюватися, ще виконайте цей скрипт:
Jenkins.instance.queue.clear()
-
Відключіть Prepare for Shutdown.