美文网首页
jenkins 批量设置job清理规则

jenkins 批量设置job清理规则

作者: 博翼腾飞 | 来源:发表于2019-12-25 10:18 被阅读0次

制作job模板时,未设定清理规则,后续依靠模板制作的job达上千个时,job构建历史较多,占用空间较大。
1.针对非pipeline项目,可安装批量修改插件
安装好 Configuration Slicing plugin 后,重启Jenkins。
然后打开Manage Jenkins -> Configuration Slicing,分别打开以下菜单,在左边的“Configured Value”中填入新的值。
Discard Old Builds Slicer - Days to keep artifacts
Discard Old Builds Slicer - Days to keep builds
Discard Old Builds Slicer - Max # of builds to keep
Discard Old Builds Slicer - Max # of builds to keep with artifacts
2.针对pipeline job
工程未配置过清理规则,在jenkins命令行执行

import jenkins.model.Jenkins
import hudson.model.Job
import jenkins.model.BuildDiscarderProperty
import hudson.tasks.LogRotator
// 遍历所有的任务
Jenkins.instance.allItems(Job).each { job ->
if ( job.isBuildable() && job.supportsLogRotator() && job.getProperty(BuildDiscarderProperty) == null) {
    println " \"${job.fullDisplayName}\" 处理中"
    job.addProperty(new BuildDiscarderProperty(new LogRotator (3, 3, 3, 3)))
    println "$job.name 已更新"
}
}
return;

job有配置过清理规则,条件判断需修改

if ( job.isBuildable() && job.supportsLogRotator() && job.getProperty(BuildDiscarderProperty) != null)

3.手动删除历史build
$JENKINS_HOME/jobs/[JOB_NAME]/builds 目录下删除30天之前的构建记录

find [1-9]* -type d -mtime +30 -exec rm -rf {} \;

相关文章

网友评论

      本文标题:jenkins 批量设置job清理规则

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