Jenkins 自动清理任务

为什么要清理

jenkins 在日常的使用中运行的任务会逐渐增多,在日常使用中不会有什么问题。
但是当我们进行jenkins的插件升级,重启等操作是,过多的job可能会导致jenkins无法启动。

清理历史

清理历史的任务,包括工作空间。
只清理未运行的任务

import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*

pipeline{
    agent none
    stages{
        stage("清理"){
            steps{
                script{
                    println "开始清理..."
                    for (job in Jenkins.instance.items) 
                    {
                        if(job.name == "system_clean_up_workspace_pipeline" || job.name == "lsm_custom" || job.name == "lsm_custom_merge" ){
                            continue
                        }
                        boolean skip = false
                        for (jobItem in job.getAllJobs()){
                            if(jobItem.isBuilding() || jobItem.isInQueue()){
                              skip = true
                              println "===跳过清理workspace:"+ job.name
                              break
                            }
                        }
                        if(skip == false){
                            println "xxx清理workspace:"+ job.name
                            job.delete()
                        }
                     }
                }
            }
        }
    }
}

你可能感兴趣的:(Jenkins 自动清理任务)