You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让VSTS本地代理每次使用相同的工作目录?

如何让VSTS本地代理固定使用同一工作目录

我之前也处理过类似的大仓库场景,VSTS(现在叫Azure DevOps Server)本地代理默认的工作目录轮转机制,确实会给大仓库用户带来重复下载的麻烦——它默认会为每个新作业创建编号递增的工作目录(比如C:\agent_work\1、C:\agent_work\2),目的是隔离不同作业的环境,但对20GB的仓库来说完全是灾难。

下面给你两种可靠的解决方法:

方法1:全局配置代理,固定工作目录

这个方法会让该代理的所有作业都使用同一个固定目录,一劳永逸:

  • 如果是首次配置代理:运行config.cmd(Windows)或config.sh(Linux)时,加上--work参数指定固定路径,比如:
    config.cmd --work C:\agent_work\fixed_repo
    
  • 如果代理已经配置完成:找到代理安装目录下的.agentJSON文件,修改workFolder字段为你想要的固定路径,比如:
    "workFolder": "C:\\agent_work\\fixed_repo"
    

修改后重启代理服务即可(Windows在服务列表找到Azure Pipelines Agent重启,Linux用./svc.sh restart)。

方法2:针对单个构建管道指定工作目录

如果不想全局修改,只想给这个大仓库的管道单独设置:

  1. 打开构建管道编辑页面
  2. 点击代理作业名称旁的齿轮图标,进入作业设置
  3. 在「工作目录」选项中输入固定路径,比如$(Agent.RootDirectory)\fixed_repo(Windows)或$(Agent.RootDirectory)/fixed_repo(Linux)
  4. 保存管道,下次运行就会锁定这个目录了

关键注意事项

  • 一定要保留你之前设置的「Get Sources」任务的不清理配置,这样代理才会复用已有的仓库文件,不会重新克隆整个20GB内容
  • 如果多个管道共用同一个代理和固定目录,要确保它们的仓库不会相互冲突,或者给每个管道分配单独的固定目录
  • 确认代理服务账号对固定工作目录有足够的读写权限

内容的提问来源于stack exchange,提问作者user1142433

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:29:53