Visual Studio Team Services私有代理无法获取.Net源码问题咨询
排查Azure私有代理Get Sources任务失败问题
嘿,我之前帮不少用户排查过私有代理在Get Sources任务上失败的问题,结合你说的场景——已经把Azure VM配置成VSTS私有代理且状态显示Online,但跑构建时Get Sources出问题,咱们可以从这几个方向一步步排查:
1. 检查代理运行账户的代码仓库权限
- 私有代理是用指定账户运行的(可能是安装时选的
Local System账户,或者你自定义的域/本地账户),这个账户必须拥有读取目标代码仓库的权限。- 如果是Git仓库:切换到代理账户,打开命令行执行
git clone <你的仓库地址>,手动测试能不能克隆成功。如果手动都失败,那大概率是权限或者网络问题,先解决这个基础问题。 - 如果是TFVC仓库:确认该账户在VSTS项目中被授予了源代码读取的权限,比如添加到
Contributors或Readers组里。
- 如果是Git仓库:切换到代理账户,打开命令行执行
2. 验证Azure VM的网络连通性
- 首先确保VM能正常访问VSTS服务:打开PowerShell执行
Test-NetConnection dev.azure.com -Port 443,检查是否能建立HTTPS连接(VSTS主要用443端口通信)。 - 如果你的VM需要通过企业代理上网,必须给私有代理配置代理信息:
- 找到代理安装目录下的
.env文件 - 添加两行配置:
HTTP_PROXY=http://<企业代理地址>:<端口> HTTPS_PROXY=https://<企业代理地址>:<端口> - 重启代理服务(在服务里找到
Azure Pipelines Agent,右键重启)
- 找到代理安装目录下的
3. 检查代理工作目录的权限
- Get Sources任务会把代码下载到代理安装目录下的
_work文件夹,要确保代理运行账户对这个文件夹有读写权限。可以右键_work文件夹 → 属性 → 安全,确认账户有完全控制或读写的权限。 - 偶尔之前的构建残留文件会导致冲突,你可以手动清空
_work下对应项目的文件夹,再重新触发构建试试。
4. 查看详细日志定位具体错误
- 私有代理的本地日志在安装目录的
_diag文件夹里,找到最新的Agent_*.log文件,搜索和Get Sources相关的报错内容——里面会有更具体的提示,比如“权限被拒绝”“无法解析主机”等,能直接帮你锁定问题。 - 另外,在VSTS的构建页面,把日志级别调到详细(触发构建时在“选项”里设置),这样能看到Get Sources任务执行的每一步细节,更容易找到卡点。
5. 确认代理版本与VSTS兼容性
- 旧版本的私有代理可能和新版VSTS的API不兼容,导致Get Sources任务失败。你可以打开代理安装目录的命令行,执行
config.cmd update来把代理更新到最新版本,然后重启服务再测试。
内容的提问来源于stack exchange,提问作者Amruta
相关产品推荐
相关产品推荐

