一.job和workspace空间清理
1.workspace中的内容可以直接删掉(因为workspace里面的内容是jenkins打的项目包),删完之后的第一次构建会比较久,因为很多包需要重新拉取。
2.job目录不建议删除,因为里面都是你的jenkins项目任务,假如不小心删除了,千万不要重启,赶紧一个一个任务构建一遍。这样在重启就不会导致jenkins项目任务消失。
二.删除Jenkins旧的构建来释放磁盘空间
1.配置Discard old builds选项
Jenkins 提供了“Discard old builds”的选项可以配置保留几天/最多几个的build 和 artifacts,缺省这个选项不会勾上。不勾选时,默认值为365,显然这个值过大了。
打开一个Jenkins job的Configure页面,勾选上”Discard old builds”,填入Day of keep builds (保留几天的build记录)和Max# of builds to keep (保留最多几个build记录)。
点击Advanced按钮,还可以填入Days of keep artifacts (保留几天的artifact)和 Max# of builds to keep with artifacts (保留最多几个artifacts)。
通常来讲,如果磁盘空间足够,这4个选项设置为15就可以了(也就是两周 + 1天)。
如果磁盘空间不足时,可以将这4个选项都设置为3。
Jenkins job在每次build结束后(无论成功还是失败)都会自动执行discard old builds,这样当下次执行build后,这个job占用的磁盘空间就会被释放。
2.用Configuration Slicing插件批量配置Discard old builds选项
如果已经配置了很多Jenkins job,逐个来修改Discard old builds,非常费时费力。好在Jenkins有Configuration Slicing plugin可以批量来配置Jenkins job。
安装好 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
比如要配置“Days to keep artifacts”为3天,就在对应Job的那一行的左边的”Configured Value”填入3。
打开Jenkins job的Configure页面,可以看到”Discard old builds”选项的值已经被修改。
在Jenkins Server上手工删除旧的build
如果想立即释放磁盘空间,可以在Jenkins Server上手工删除旧的build。
比如在$JENKINS_HOME/jobs/[JOB_NAME]/builds
删除里面的记录
$JENKINS_HOME/jobs/[JOB_NAME]/
modules 也可以删除
三.删除jenkins日志
1、每次手动删除 /var/log/jenkins/jenkins.log 该文件,而且删除后需要重启下jenkins,不然空间不能释放出来。
2、点击 系统管理-System Log-日志级别,然后增加 javax.jmdns为off
Manage Jenkins -> System Log -> Log Levels (on the left)
Name: javax.jmdns
Level: off