Jenkins build記錄清理,釋放磁盤空間方式
在執(zhí)行構(gòu)建任務(wù)時,會為每個構(gòu)建生成一個唯一的 ID,并將其相關(guān)信息(如日志、歸檔制品、狀態(tài)、參數(shù)等)存儲在 Jenkins Workspace 的特定目錄下。
這些記錄時間久了會占用大量磁盤空間,影響 Jenkins 性能,因此定期清理是很有必要的。
Jenkins 構(gòu)建記錄的存儲位置
每個 Jenkins Job(項目)的構(gòu)建記錄通常存儲在 Jenkins Master 服務(wù)器的以下路徑下:
${JENKINS_HOME}/jobs/<JOB_NAME>/builds/
清理builds記錄的方法
Jenkins 提供了多種機制來清理這些構(gòu)建記錄:
1. Jenkins Job 配置中的“丟棄舊的構(gòu)建” (Discard Old Builds)
這是最常用、最推薦的清理方式,因為它可以在 Job 級別進行精細控制。
配置步驟:
進入你的 Jenkins Job 配置頁面 (Job -> Configure)。
在“General”(或“History”)部分,勾選 “丟棄舊的構(gòu)建” (Discard Old Builds)。
配置清理策略:
- 天數(shù)限制:
Days to keep builds(保留多少天內(nèi)的構(gòu)建)。 - 數(shù)量限制:
Max # of builds to keep(最多保留多少個構(gòu)建)。
高級設(shè)置 (Advanced):
Days to keep artifacts/Max # of artifacts to keep: 針對歸檔的制品進行單獨設(shè)置。Pattern:通過正則表達式匹配構(gòu)建描述來決定是否保留。Exclude List:排除某些構(gòu)建(如帶有特定標簽的)不被清理。
示例配置:
保留最近 10 個構(gòu)建,或者 30 天內(nèi)的構(gòu)建 (兩者之一滿足即可):
Days to keep builds: 30Max # of builds to keep: 10
只保留最近 5 個構(gòu)建:
Days to keep builds: (空著或保持默認-1)Max # of builds to keep: 5
工作原理: 當(dāng)一個 Job 有新的構(gòu)建完成時,Jenkins 會檢查此 Job 的“丟棄舊的構(gòu)建”配置,并根據(jù)規(guī)則刪除不符合條件的舊構(gòu)建記錄。這個過程是異步的,通常在構(gòu)建完成后或 Jenkins 后臺任務(wù)運行時進行。
優(yōu)點:
- 最便捷、最安全 的方式,Jenkins 官方推薦。
- 提供 Job 級別的細粒度控制。
- 能夠區(qū)分保留的構(gòu)建數(shù)量和保留的天數(shù)。
- 可以單獨控制 artifacts 的保留策略。
缺點:
- 需要為每個 Job 單獨配置,如果有很多 Job,工作量較大。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java17新特性之?instanceof運算符的實現(xiàn)
Java17對??instanceof??運算符進行了增強,引入了模式匹配的功能,本文就來詳細的介紹一下新特性之instanceof運算符的使用,感興趣的可以了解一下2025-10-10
Java在Linux上調(diào)用FFmpeg實現(xiàn)視頻截圖的完整指南
在Linux環(huán)境下使用Java與FFmpeg命令交互進行視頻截圖是多媒體處理中的常見任務(wù),本文介紹了如何在Java程序中執(zhí)行FFmpeg命令,通過提供具體代碼示例來展示在特定時間點獲取視頻靜態(tài)圖像的方法,需要的朋友可以參考下2025-08-08
java怎么創(chuàng)建目錄(刪除/修改/復(fù)制目錄及文件)代碼實例
這篇文章主要介紹了java怎么創(chuàng)建目錄,還包括刪除/修改/復(fù)制目錄及文件,代碼簡單,下面直接看代碼吧2013-12-12

