背景:打包機 C 盤空間一直很緊張,打幾次包就報空間不足了,用神器WizTree掃描分析了哈發(fā)現(xiàn)是 Jenkins 的工作目錄.jenkins和 Gradle 緩存目錄.gradle 占用炒雞大導致
其中的.gradle 中的 111 是我添加故意改名的
想法:看到這兩個目錄里面的,我想就是把.gradle從 C 盤遷移出去、.gradle里面的 cache 也是可以刪除的、daemon里面的 log 也是可以干掉的,.jenkins里面的 workspace項目的.git 版本記錄也是可以想哈辦法干掉些老分支,job目錄里面老的構建記錄也可以刪除哈;其他的可以去控制面板的程序里面刪除一些不需要的 windows 程序
參考:
https://www.bilibili.com/opus/849973091610132488
https://www.cnblogs.com/baiqiantao/p/6890674.html
實操1:配置GRADLE_USER_HOME環(huán)境變量把.gradle從 C 盤遷移出去
- 先將 C 盤的.gradle 目錄復制到目標盤去,比如我這里是D:\development下,拷貝的可以再 cmd 里面執(zhí)行
xcopy "C:\Users\xxx\.gradle" "D:\development\.gradle" /E /H /C /I快速 copy,再依次執(zhí)行下面操作
我的電腦上右鍵選擇屬性
選擇高級系統(tǒng)設置
選擇環(huán)境變量
新建GRADLE_USER_HOME環(huán)境變量到新盤的 gradle 根目錄 - 我這里用戶變量和系統(tǒng)變量都設置了,避免無效,設置之后全部保存后??切記要重啟電腦讓這個環(huán)境變量生效,然后再刪除 C 盤的.gradle即可
實操2:刪除job目錄里面老的構建記錄,只保留最后一個記錄
@echo off
setlocal enabledelayedexpansion
set "baseFolderPath=%JENKINS_HOME%\jobs"
rem 遍歷 jobs 目錄下的每個子目錄
for /d %%j in ("%baseFolderPath%\*") do (
set "buildsFolder=%%j\builds"
rem 檢查 builds 目錄是否存在
if exist "!buildsFolder!" (
set "lastFolder="
rem 遍歷 builds 目錄下的文件夾并按名稱排序
for /f "tokens=*" %%i in ('dir /b /ad "!buildsFolder!" ^| sort') do (
if defined lastFolder (
echo DeletingFolder: "!buildsFolder!\!lastFolder!"
rem 刪除文件夾及其內容
rmdir /s /q "!buildsFolder!\!lastFolder!"
)
set "lastFolder=%%i"
)
rem 刪除最后一個文件夾
if defined lastFolder (
echo NotDeleteLastFolder: "!buildsFolder!\!lastFolder!"
)
)
)
pause
exit
-
這個刪除可以設置一個 Jenkins 自動觸發(fā),比如我這邊是如下:
自動執(zhí)行設置





