Azure DevOps自托管Agent Git版本更新及路径覆盖问题咨询
解决Azure DevOps自托管Agent Git版本优先级问题
问题根源
Azure DevOps Agent启动时会自动将自身Externals/git目录追加到PATH的最前端,所以即便服务账户PATH中配置了新版Git路径,流水线仍会优先调用Agent自带的旧版本Git。
可行解决方案(无需手动复制Git文件夹)
方法1:让Agent跳过自带路径注入
编辑Agent安装目录下的\.agent\agent.config配置文件,找到skipDefaultAgentPath项,将其值改为true:
"skipDefaultAgentPath": true
修改完成后重启Agent服务,此时Agent不会再将自身Externals目录前置到PATH中,流水线会优先使用服务账户PATH里的新版Git。
方法2:流水线级别指定Git路径
在YAML流水线中直接覆盖PATH,强制使用新版Git,示例:
- task: CmdLine@2 inputs: script: | set PATH=C:\Program Files\Git\cmd;%PATH% git --version
方法3:更新Agent自带的Git目录
若坚持使用Agent自带的Git目录,可按以下步骤操作:
- 下载与Agent架构匹配的Git便携版(如x64版本)
- 删除Agent目录下
Externals/git内的所有旧文件 - 将便携版Git的文件解压至
Externals/git目录 - 重启Agent服务,流水线即可调用新版Git
额外检查项
确认Agent的系统Capabilities中,git.path指向新版Git的正确路径。若未自动识别,可手动添加自定义Capability指定该路径。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

