为 Azure DevOps 上的不同存储库重复使用相同的构建管道
Reuse same build pipeline for different repository on Azure DevOps
我在 Azure DevOps 上有一个项目,其中包含同一主存储库的多个分支。我为该存储库创建了一个构建管道,不幸的是,它不能重新用于当前的分支,因为管道只能为单个存储库配置。
这个解决方案并不理想,因为会导致多个相同的管道,每个分支一个,并且维护所有这些管道可能很困难。
有没有一种方法可以将一个管道用于多个存储库?
您可以创建一个模板文件并从每个管道引用该文件,这样您就可以编辑单个文件并且每个管道都会更改。
示例如何重用来自不同存储库的步骤文件
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
它在 2019 年第三季度的路线图上:
YAML 管道的多存储库支持
https://dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1454026
“触发器
当更新被推送到自存储库或任何声明为资源的存储库时,您可以触发管道。
我在 Azure DevOps 上有一个项目,其中包含同一主存储库的多个分支。我为该存储库创建了一个构建管道,不幸的是,它不能重新用于当前的分支,因为管道只能为单个存储库配置。
这个解决方案并不理想,因为会导致多个相同的管道,每个分支一个,并且维护所有这些管道可能很困难。
有没有一种方法可以将一个管道用于多个存储库?
您可以创建一个模板文件并从每个管道引用该文件,这样您就可以编辑单个文件并且每个管道都会更改。
示例如何重用来自不同存储库的步骤文件
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
它在 2019 年第三季度的路线图上:
YAML 管道的多存储库支持 https://dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1454026
“触发器
当更新被推送到自存储库或任何声明为资源的存储库时,您可以触发管道。