優(yōu)化 C 盤空間手段之.jenkins/.gradle,配置GRADLE_USER_HOME

背景:打包機 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í)行設置
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容