【问题标题】:Download a secondary repo in Azure DevOps as part of build在构建过程中下载 Azure DevOps 中的辅助存储库
【发布时间】:2020-02-06 08:59:42
【问题描述】:

我们有 2 个存储库,其中一个包含所有项目的通用构建脚本,另一个存储库是实际项目。他们使用 Git 作为 Azure DevOps 中的存储库。

目前,当构建发生时,它只下载项目 repo,但不能强制下载构建脚本 repo。是否可以使用项目 repo 下载构建脚本 repo。

【问题讨论】:

  • 嗨,kumar 你检查下面给出的答案吗?如果您有任何问题,请随时提问。
  • @HughLin-MSFT 感谢您的建议。这很有帮助。我现在已经使用了 git 下载器扩展。
  • 仅供参考,最新版本的 azure devops docs.microsoft.com/en-us/azure/devops/pipelines/repos/… 中添加了多 repo 支持@

标签: git azure-devops


【解决方案1】:

目前无法在运行构建时克隆额外的存储库。

如前所述,您可以使用“命令行”任务并执行

git clone

但是,如果您想从您的项目中签出其他 repo,您​​可能希望使用市场上的此扩展,因为它可以更干净地处理您的身份验证

https://marketplace.visualstudio.com/items?itemName=fakhrulhilal-maktum.GitDownloader&targetId=00da653d-4cf7-44d0-8bc8-42981743dc5c

【讨论】:

  • 我认为 Azure Devops 发生了变化,需要启用插件才能工作的另一个设置。转到项目选择并选择“项目设置”>“管道”>“设置”>禁用“将作业授权范围限制为当前项目”
【解决方案2】:

目前不支持Multiple repo checkout,但它已经在开发中。 目前,作为一种解决方法,您可以在构建期间将其他存储库编程克隆到工作目录,例如使用经典管道:

  1. 编辑管道(构建定义)
  2. (选项)如果仓库在同一组织内的不同项目中:选择选项选项卡,在构建作业授权范围中选择项目集合 >
  3. 切换到Tasks标签,选择Agent Job并勾选Allow Additional 下用于访问 OAuth 令牌 选项的脚本 选项
  4. 添加命令行任务并运行以下git命令:git clone https://test:$(System.AccessToken)@dev.azure.com/{organization}/{project}/_git/TEST0625,可根据需要设置工作目录(如$(Build.SourcesDirectory)

【讨论】:

    【解决方案3】:

    据我所知,这不是原生的,但您可以运行 git clone 命令作为管道中的第一个任务,它会执行相同的操作。它甚至可能是一种更好的方法,因为您可以先创建目录结构,然后再创建 git clone,这样您对构建脚本的引用将始终相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-08
      • 2020-02-13
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多