Azure Pipelines使用PAT连接外部私有Git仓库认证失败如何解决
解决步骤
- 首先确认流水线使用的代理网络可达性
你本地能访问TFS地址不代表流水线代理可以访问:如果使用的是微软托管代理,默认无法访问你内网部署的8081端口TFS服务,必须换成部署在内网、可正常访问TFS服务的自托管代理。 - 修正服务连接的认证配置
不要填入base64编码后的PAT,Azure DevOps会自动完成编码处理,正确配置规则如下:- 用户名栏填入你生成PAT的TFS账号的实际用户名(不要留空)
- 密码/令牌栏直接填原始未编码的PAT
- 确认PAT已开启
代码(读取)权限,且未过期
- 验证性测试
如果上述配置仍报错,可直接在流水线脚本中执行本地可用的克隆命令验证:- 先在流水线中创建名为
TFS_PAT的秘密变量,存储你的原始PAT - 加入PowerShell执行步骤:
如果该步骤执行成功,说明你之前配置的外部Git服务连接参数有误,重新核对地址、用户名、PAT即可;如果执行失败,优先排查代理网络和PAT本身的权限有效性。$MyPat = '$(TFS_PAT)' $B64Pat = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":$MyPat")) git -c http.extraHeader="Authorization: Basic $B64Pat" clone http://tfs.MYURL:8081/tfs/Desenvolvimento/Projetos/_git/MyProject - 先在流水线中创建名为
内容的提问来源于stack exchange,提问作者mcamara
相关产品推荐
相关产品推荐

