azure-devops - 依赖于私有(private) AZ 存储库的 Azure 构建管道

标签 azure-devops azure-pipelines

我们在 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/

相关文章:

google-chrome - Chrome 和 Edge 的行为非常奇怪,但 IE 则不然

azure-devops - 在azure devops中触发具有特定分支名称(模式)的作业

azure-pipelines - 命令行构建任务来运行 exe

azure - VUE CLI Run on 可以在 Azure Pipelines 上运行/安装吗?

azure-devops - VSTS 代理自动更新无法更新

azure - 变量作为模板参数输入

azure - 在Azure DevOps中,使用一个变量组还是多个变量组来分割环境变量更好?

git - 其他 git 存储库的构建管道期间出现 Azure DevOps 错误 'Git fetch failed with exit code 128'

python - 如何通过 CLI 从 Azure Artifact feed 安装私有(private) python 包

xslt - 释放管道抛出以下错误 : Unable to apply transformation for the given package - Changes are already present in the package