Azure 管道配置

Azure Pipeline configurations

我遇到了一个让我有点困惑的问题,我想找到避免重复管道的最佳方法。

在这个 GitHub 存储库中,我有我的 yaml 文件来构建项目,这个 yaml 以文件夹模板为目标,运行 在该文件夹模板上进行 C# 构建和发布。 GitHub repo 的结构大致如下:

- Folder 1
- Folder 2
- Folder 3
- Azure-Pipelines(build and Publish)
- Azure-pipeline.yaml

在管道 运行 期间,我的 yaml 以 Àzure-Pipelines(构建和发布)文件夹为目标并构建项目。这是我的 Azure-pipeline.yaml 文件

stages:
- stage: Build
  displayName: 'Build'
  jobs:  
  - template: Azure-Pipelines/build.yaml
    parameters:
      solution: 'Solution-to-build'

- stage: Publish
  displayName: 'Release and Push'
  jobs:  
  - template: Azure-Pipelines/publish.yaml
    parameters:
      <All the parameters configured for this yaml file>

我的 GitHub 的模板和结构不断重复,因为在每个 gitrepo 中我都有那个 Azure-pipeline 文件夹。我想做什么。是有一个 GitHub 存储库,我在其中保留 build.yaml 和 publish.yaml。并使 all 管道 运行s.

时其他存储库引用此文件夹

有什么方法可以实现这个目标吗?

如果我遗漏了任何细节来阐明我的观点,请尽管提问。提前谢谢你

Is there any way how I can achieve this?

您可以尝试在 YAML 管道中使用 Resources

步骤如下:

第 1 步:在 项目设置 -> 服务连接 中创建 Github 服务连接。

第 2 步:您可以尝试使用以下示例来使用来自另一个 Github Repo 的 yaml 模板。

例子

resources:
  repositories:
  - repository: MyGitHubRepo # The name used to reference this repository in the checkout step
    type: github
    endpoint: serviceconnectionname
    name: githuborg/reponame   #e.g. yy/test
    ref: main

pool:
  vmImage: ubuntu-latest

stages:
- stage: Build
  displayName: 'Build'
  jobs:  
  - template: Azure-Pipelines/build.yml@MyGitHubRepo