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

如何在DevOps Services Pipeline中拉取DevOps Server 2020的Git分支用于构建

可能的故障原因及对应解决方法

1. 网络访问权限问题

  • 你本地执行git clone的Git Bash运行在公司内网环境,可直接访问内网部署的DevOps Server 2020实例;如果你用的是DevOps Services的微软托管代理运行Pipeline,代理节点位于公网,默认无法访问你未暴露到公网的内网DevOps Server资源,会触发连接失败类的认证报错。
  • 排查验证方式:可在Pipeline中添加脚本步骤执行curl -v 你的Git仓库地址,看返回结果是否为无法连接主机。

2. 凭证配置/缓存问题

  • 你本地Git Bash大概率已在Windows凭证管理器/本地Git缓存中存储了正确的访问凭证,所以执行clone时无需手动输入也能正常鉴权;而DevOps Services的「Other Git」服务连接不会复用你本地的凭证缓存,需确认你填写的凭证格式符合要求:
    • 如果用域账号访问,用户名需填写域名\账号名格式,不要省略域名前缀
    • 优先使用DevOps Server生成的*代码读取权限个人访问令牌(PAT)*鉴权,服务连接中用户名留空,密码栏填写PAT即可,兼容性比普通账号密码更高
  • 额外排查:你本地Git Bash清空凭证缓存后再执行clone,确认是否需要输入额外凭证,即可验证是否是本地缓存导致的命令行正常假象。

3. 服务端权限配置问题

  • 你仅配置了IIS层面的匿名认证,未同步配置DevOps Server对应Git仓库的匿名读取权限时,DevOps Server依然会拒绝未授权的访问请求;本地账号因为默认有仓库访问权限所以能正常拉取,服务连接的账号如果没有分配对应仓库权限就会认证失败。

推荐优先尝试的解决方案

  • 更换为自托管Pipeline代理:将代理节点部署在公司内网可正常访问DevOps Server的机器上,Pipeline选择该自托管代理运行,即可复用内网网络访问能力
  • 调整服务连接凭证为DevOps Server生成的PAT,避免账号密码格式、域认证相关的兼容问题
  • 如需更详细的报错信息,可在Pipeline的Git拉取步骤前添加环境变量GIT_CURL_VERBOSE=1,运行后即可在日志中看到完整的认证交互过程,定位具体失败节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:30:05