VSTS托管构建期间的身份验证错误

时间:2017-12-13 15:48:07

标签: azure-devops

我在https://XXX1.visualstudio.com VSTS帐户下为“Project1”回购设置了托管的VS2017版本。 此repo引用了一个子模块“Project2”,该子模块已在我拥有完全管理员权限的不同VSTS帐户下设置。 https://XXX2.visualstudio.com 当我为我的顶级“Project1”仓库运行VSTS托管构建时,我在克隆“Project2”子模块时遇到身份验证错误。但是我在我的电脑上的Git客户端手动克隆子模块没有问题。获得以下错误。

  

致命:无法读取“https://XXX2.visualstudio.com”的用户名:   终端提示禁用致命:克隆   “https://XXX2.visualstudio.com/Projects/.../Project2”进入子模块   路径'D:/ a / 1 / s / Project2'失败

1 个答案:

答案 0 :(得分:0)

即使您从本地电脑添加/克隆子模块仓库project2,您也应该首次输入您的凭证。

因此,您应该提供您的凭据,以便在VSTS版本中克隆子模块仓库Project2

首先,确保您的VSTS帐户1具有备用凭据(https://XXX1.visualstudio.com

在备用身份验证凭据标签(https://XXX1.visualstudio.com/_details/security/altcreds)中,如果您没有,请添加sscondary用户名和密码:

enter image description here

然后,为子模块Project2 repo(在VSTS帐户1之外)添加备用凭据

在Project1仓库中,有文件.gitmodules来记录子模块仓库Project2,内容如下:

[submodule "Project2"]
    path = Project2
    url = https://account2.visualstudio.com/projects/_git/Project2

然后在子模块URL中添加备用凭证,格式为:

[submodule "Project2"]
    path = Project2
    url = https://<secondary username>:<secondary password>@account2.visualstudio.com/projects/_git/Project2

例如,URL应与https://myuser:password@myaccount.visualstudio.com/project/_git/repo相对应,如上图所示。

此外,还有一个用户语音Build support for external submodules that require authentication,该请求可以在构建定义中获取外部git子模块,您可以投票和跟进。