利用Python清理jenkins下过多的jobs记录
- 2019 年 11 月 22 日
- 笔记
在基于jenkins集成跑自动化测试时,由于每日构建上千次,每天会生成大量中间日志文件,如果在前期规划时,未能及时的自动清理掉这些中间日志文件,会导致jenkins所在服务的磁盘空间被大量占有,甚至耗尽。
这个时候我们就需要手动清理掉这些job的中间日志文件了。
以部署在linux下的jenkins为例,默认情况下,jenkins中间日志文件记录在如下路径:

该目录下有所有job记录,如下所示:

我们随便看一个job下的记录,如下图命令所示:

其中builds目录是每一次build的详细记录,如下图所示

看笔者这里最大的build号为16759,意味着,这个job已经跑了16759次了,意味着这个job已经产生了几百M甚至以G为单位的中间数据了。
那如何清理这些中间数据呢?
笔者一般是通过Python代码来做这个事,并做成一个定时任务,以周为单位,每周清理一次中间文件:
具体代码如下:

代码说明:
- 只有build了60次以上的job才会被清理
- 只有清理最近30次之前的日志记录
- 本质就是遍历/root/.jenkins/jobs目录,删除相关记录文件
硬干才是真理,不要怕搞死自己,搞死了,重新安装再来就是了,多折腾才是王道