VSTS代理安装至C盘、指定其他盘工作目录及空间配置问询
VSTS代理配置问题解答
嗨,我来给你详细拆解这两个VSTS代理的配置需求,之前帮不少团队处理过这类磁盘优化的场景,步骤都很清晰:
1. 将VSTS代理安装在C盘,同时指定其他磁盘作为工作目录
这个需求很常见,核心是把代理的程序安装目录和工作目录分开,操作分两种情况:
新代理首次配置
- 先下载VSTS代理压缩包,解压到C盘的目标路径(比如
C:\vsts-agent)——这个就是代理核心程序的安装位置。 - 以管理员身份打开PowerShell,进入C盘的代理目录,执行命令:
.\config.cmd启动配置向导。 - 跟着向导完成账户关联、代理池选择等步骤,当出现
Enter work folder (press Enter to accept default _work)的提示时,输入你想要的其他磁盘路径(比如D:\vsts-agent-work),按回车确认即可。 - 后续所有构建、发布生成的临时文件、缓存都会自动存在你指定的D盘目录,代理程序本身仍留在C盘。
已配置代理修改工作目录
- 先停止代理服务:在代理目录的PowerShell窗口执行
.\agent.exe stop - 打开代理目录下的
settings.json文件,找到workFolder字段,修改为新的路径(注意转义反斜杠,比如"workFolder": "D:\\vsts-agent-work") - 重启代理服务:
.\agent.exe start
2. 强制回收空间或限制VSTS代理占用X GB存储空间
代理的空间占用主要来自_work文件夹里的构建缓存和临时文件,下面是几种实用的处理方式:
手动强制清理
- 直接在代理目录的PowerShell窗口执行命令:
.\agent.exe cleanup,这个命令会自动清理旧的构建缓存、临时文件,保留最近的若干构建记录(具体数量由代理的保留策略决定)。 - 如果需要彻底清理,也可以手动删除
_work文件夹下的子目录,但注意不要删除正在运行的构建对应的目录(通常是带有当前构建编号的文件夹)。
自动清理与存储空间限制
- 设置工作目录大小上限:打开代理目录的
settings.json,添加maxWorkFolderSize字段,值为你想要限制的字节数。比如要限制为10GB,就填写"maxWorkFolderSize": 10737418240(1GB=1024×1024×1024字节)。保存后重启代理,当工作目录超过这个大小,代理会自动清理旧文件。 - 配置构建保留策略:在
settings.json里添加或修改retentionPolicy字段,比如:
这样代理会自动删除7天前的构建文件,或者保留最多10个构建的缓存,哪个条件先触发就执行哪个。"retentionPolicy": { "daysToKeep": 7, "maxNumberOfBuilds": 10 } - 构建级自动清理:在你的VSTS构建/发布定义中,找到「选项」→「清理」,勾选「在构建前清理工作目录」或「在构建后清理」,这样每次构建完成后都会自动清理临时文件,避免空间持续占用。
内容的提问来源于stack exchange,提问作者4c74356b41




