我们在Azure存储库中有一个Angular项目,该项目在依赖项下的packages.json文件中引用了另一个私有Azure项目/存储库。该项目在本地为所有开发人员构建良好,但是在Azure管道中通过身份验证失败。将代码从私有Azure存储库中提取代码到另一个项目构建管道的正确方法是什么?
我将访问协议从ssh更改为https,并做了很多有关如何实现此目的的阅读。我已经阅读了有关个人访问令牌的信息,但这似乎不是一个好的解决方案。
"core-js": "^2.5.4",
"xxx": "git+https://xxx@dev.azure.com/xxx/xxx#master",
"date-fns": "^1.30.1",
注意:该错误表明是致命的:'https://dev.azure.com/ ...的身份验证失败,该身份不包括依赖项URL中提供的用户名。
答案 0 :(得分:2)
同意您的。我还认为使用PAT令牌不是一种安全方式,因为它不能完全公开令牌。
如果要使用SSH,首先需要确保要安装的存储库在根目录下具有package.json。
然后,使用命令vssh-keygen -t rsa
生成一对公钥/私钥。之后,您可以按照以下文档操作:Use SSH key authentication将其安装到您的组织中。
使用SSH克隆存储库,这将使您的客户端接受服务器表示的指纹。然后,进入存储库页面,获取用于克隆存储库的SSH URI,并将其添加到package.json
文件的依赖项部分:
"dependencies": {
"testproj": "git+ssh://account@ssh.visualstudio.com:v3/{org name}/{project name}/{repos name}"
}