Jenkins使用脚本快速批量删除历史构建记录
大家知道,我们每次使用jenkins拉取代码,进行自动打包部署的时候,它都会在jenkins的工作目录下产生一些文件(包括自动打包生成的jar包,以及其他的一些工作文件),产生的文件中,其中光那个jar包就至少几十兆。你想想,每次部署都至少产生几十兆的文件,那在使用jenkins比较频繁部署项目的时候,或者随着时间越来越久,肯定会占用比较大的磁盘空间;恰巧jenkins默认的工作目录就是在/roo
大家知道,我们每次使用jenkins拉取代码,进行自动打包部署的时候,它都会在jenkins的工作目录下产生一些文件(包括自动打包生成的jar包,以及其他的一些工作文件),产生的文件中,其中光那个jar包就至少几十兆。你想想,每次部署都至少产生几十兆的文件,那在使用jenkins比较频繁部署项目的时候,或者随着时间越来越久,肯定会占用比较大的磁盘空间;
恰巧jenkins默认的工作目录就是在/root目录下,我们平常用的云服务器硬盘一般就40G或50G,那肯定会出现磁盘不够用的情况
遇到这种情况前边的一篇文章我也有讲到,可以再买一块儿大的硬盘进行挂载,并且把jenkins的默认工作路径修改到这个大的硬盘上,可以参考这篇:怎么修改Jenkins的默认工作路径,最简单高效的方式
上边这种方法虽然可以解决问题,但是毕竟需要多花钱,并且随着时间越来越久,你买再大的硬盘,你不清理,早晚也会被占满的。所以比较经济实惠的解决方案应该是去清理一下jenkins很早之前 已经没用的历史构建记录,这样你的磁盘空间不就恢复了吗?
之前也写过一篇文章来介绍怎么排查linux服务器上哪些磁盘哪些文件占的空间比较大,然后再结合你自己的实际情况,可以去删除一些没用的文件,可以参考这篇:linux怎么看各个目录占用磁盘的大小以及清除没用的文件
上边这一篇除了可以清除jenkins没用的历史构建文件,还可以删除其他任何当前对你没用的文件
但是还是有点不方便,那就是你还需要一个个的去找jenkins的构建目录,构建文件都在哪
然后 rm -rf x x x x...去删除,还是比较麻烦的。
所以,今天就讲一下专门针对清除jenkins历史构建最快最方便的方法:使用脚本快速批量删除Jekins历史构建记录
上图可以看到这个项目的构建已经104次了,之前很多的历史构建记录都没啥用了,但是你不清理的话,会一直占着你的磁盘空间
我的jenkins默认的工作目录已经迁移到了新挂载的磁盘 /extra 这个目录下
清除历史构建之前是占用了 21%
下面就开始清除一下
1、找到Jenkins执行脚本的地方
往下拉,找到 Script Console
2、执行脚本
def jobName = "玩具商城系统-测试环境部署" //删除的项目名称
def maxNumber = 95 // 保留的最小编号,意味着小于该编号的构建都将被删除
Jenkins.instance.getItemByFullName(jobName).builds.findAll {
it.number <= maxNumber
}.each {
it.delete()
}
上边的脚本复制到命令框里,然后根据你的实际情况一定要记得改一下 jobName 和 maxNumber
点击右下角的 “运行”,就可以了
我脚本里写的是 小于95的构建会被全部删除
可以看下图执行脚本后的效果
可以看到,最后只保留了95以上的相对来说比较最近的几次构建
此时,再回去看下我的磁盘占用情况
可以看到刚才的磁盘占用是21% 现在变成20%了
如下图的其他几个项目都可以按照上边的步骤操作清除一下,磁盘空间就会变大很多
ok,以上就是 利用脚本来快速批量删除Jenkins历史构建记录
希望可以帮助到你
更多推荐
所有评论(0)