'Reuse same build pipeline for different repository on Azure DevOps

I have a project on Azure DevOps containing multiple forks of the same main repository. I created a build pipeline for that repository which unfortunately cannot be reused for the present forks since a pipeline can only be configured for a single repository.

This solution is not ideal because leads to multiple identical pipelines, one for each fork, and maintaining all of them can be difficult.

Is there a way to use one pipeline for multiple repositories?



Solution 1:[1]

you can create a template file and reference that file from each pipeline, that way you can edit a single file and every pipeline will change.

example how to reuse a step file from different repo

resources:
  repositories:
  - repository: DevOps
    type: git
    name: DevOps
trigger: none

jobs:
- template: vsts/yaml/build.yaml@DevOps
  parameters:
    solutionName: xxx
    registryName: yyy

You can take a look at the official docs for more examples

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

Solution 2:[2]

It's on the roadmap for 2019 Q3:

Multi-repository support for YAML pipelines https://dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1454026

Update: this is now implemented: https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/multi-repo-checkout?view=azure-devops#triggers

"Triggers

You can trigger a pipeline when an update is pushed to the self repository or to any of the repositories declared as resources."

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 4c74356b41
Solution 2