【问题标题】:Reuse same build pipeline for different repository on Azure DevOps为 Azure DevOps 上的不同存储库重用相同的构建管道
【发布时间】:2019-04-18 09:02:18
【问题描述】:

我在 Azure DevOps 上有一个项目,其中包含同一主存储库的多个分支。我为该存储库创建了一个构建管道,遗憾的是它不能被当前的分支重用,因为管道只能为单个存储库配置。

这种解决方案并不理想,因为会导致多个相同的管道,每个分支一个,并且维护所有这些管道可能很困难。

有没有一种方法可以将一个管道用于多个存储库?

【问题讨论】:

    标签: azure-devops azure-pipelines azure-pipelines-build-task


    【解决方案1】:

    您可以创建一个模板文件并从每个管道中引用该文件,这样您就可以编辑一个文件并且每个管道都会更改。

    示例如何重用来自不同 repo 的步骤文件

    resources:
      repositories:
      - repository: DevOps
        type: git
        name: DevOps
    trigger: none
    
    jobs:
    - template: vsts/yaml/build.yaml@DevOps
      parameters:
        solutionName: xxx
        registryName: yyy
    

    您可以查看官方文档以获取更多示例

    https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops

    【讨论】:

    • 这解决了在每个存储库中重复配置的问题,这很好,但似乎我仍然需要为每个分支创建一个管道。对吗?
    • 是的,不幸的是,您可以针对多个存储库的单个构建目标
    • @4c74356b41 在哪里可以引用模板文件?我没有找到这样的选项。
    【解决方案2】:

    它在 2019 年第三季度的路线图上:

    对 YAML 管道的多存储库支持 https://dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1454026

    【讨论】:

    • 我相信工作项是关于外部存储库中的触发器,而不是实际包含来自公共文档中的外部存储库的模板 - docs.microsoft.com/en-us/azure/devops/pipelines/process/…
    • @alv,恐怕我不明白你的评论。我的答案(MS 计划的工作项)正是原始发布者想要的(我也是):为具有 CI 触发器或 PR 触发器的不同存储库重用相同的构建管道。使用模板是一个半生不熟的解决方案,仍然需要为每个 repo 提供一个管道,这仍然是支持的噩梦(例如,考虑更改模板的名称或添加参数)
    • 第四季度正在进行中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    相关资源
    最近更新 更多