优化 C 盘空间手段之.jenkins/.gradle,配置GRADLE_USER_HOME

背景:打包机 C 盘空间一直很紧张,打几次包就报空间不足了,用神器WizTree扫描分析了哈发现是 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环境变量把.gradle从 C 盘迁移出去

  • 先将 C 盘的.gradle 目录复制到目标盘去,比如我这里是D:\development下,拷贝的可以再 cmd 里面执行xcopy "C:\Users\xxx\.gradle" "D:\development\.gradle" /E /H /C /I快速 copy,再依次执行下面操作
    我的电脑上右键选择属性

    选择高级系统设置

    选择环境变量

    新建GRADLE_USER_HOME环境变量到新盘的 gradle 根目录
  • 我这里用户变量和系统变量都设置了,避免无效,设置之后全部保存后⚠️切记要重启电脑让这个环境变量生效,然后再删除 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 自动触发,比如我这边是如下:


    自动执行设置
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容