我们在 Azure 存储库中有一个 Angular 项目,它引用依赖项下的 packages.json 文件中的另一个私有(private) Azure 项目/存储库。该项目在本地为所有开发人员构建良好,但在 Azure Pipeline 中失败,身份验证失败。将代码从私有(private) Azure 存储库提取到另一个项目构建管道的正确方法是什么?
我将访问协议(protocol)从 ssh 更改为 https,并阅读了大量有关如何完成此操作的文章。我已阅读有关个人访问 token 的信息,但这似乎不是一个好的解决方案。
"core-js": "^2.5.4",
"xxx": "git+https://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c3bbbbbb83a7a6b5eda2b9b6b1a6eda0acae" rel="noreferrer noopener nofollow">[email protected]</a>/xxx/xxx#master",
"date-fns": "^1.30.1",
注意:错误提示为“致命:' https://dev.azure.com/ 的身份验证失败” ...,其中不包括依赖项 url 中提供的用户名。
最佳答案
同意你的观点。我还认为使用 PAT token 不是一种安全方式,因为它没有完全暴露 token 。
如果您想使用 SSH,您首先需要确保您要安装的存储库的根目录下有一个 package.json。
然后,使用以下命令生成一对公钥/私钥:vssh-keygen -t rsa
。之后,您可以按照此文档:Use SSH key authentication将它们安装到您的组织中。
使用 SSH 克隆存储库,这将使您的客户端接受服务器表示的指纹。然后,转到存储库页面,获取用于克隆存储库的 SSH URI,并将其添加到 package.json
文件的依赖项部分中:
"dependencies": {
"testproj": "git+ssh://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="89e8eaeae6fce7fdc9fafae1a7ffe0fafce8e5fafdfcede0e6a7eae6e4" rel="noreferrer noopener nofollow">[email protected]</a>:v3/{org name}/{project name}/{repos name}"
}
关于azure-devops - 依赖于私有(private) AZ 存储库的 Azure 构建管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57500028/