利用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目錄,刪除相關記錄文件
硬幹才是真理,不要怕搞死自己,搞死了,重新安裝再來就是了,多折騰才是王道