首页 > 解决方案 > 可以将其他存储库 yml 文件用于其他管道

问题描述

Repo 1 和分支名称:Repo1Branch

trigger:
- none

pool:
  vmImage: 'ubuntu-latest'

steps:
- script: echo Hello, world!

我想从 Repo 2 管道中调用 Repo 1

Repo 2 和分支名称:Repo2Branch

trigger:
- none

pool:
  vmImage: 'ubuntu-latest'

resources:
  repositories:
    - repository: templates
      type: git
      name: PROJECTNAME/Repo 1
      ref: Repo1Branch 
  
steps:
 - template: azure-pipelines.yml@Repo 1

标签: azure-devopsazure-pipelinesazure-pipelines-yamlazure-reposazure-devops-pipelines

解决方案


是的,你可以在这里提到 -使用其他存储库

在一个仓库中,您定义模板

# Repo: Contoso/BuildTemplates
# File: common.yml
parameters:
- name: 'vmImage'
  default: 'ubuntu 16.04'
  type: string

jobs:
- job: Build
  pool:
    vmImage: ${{ parameters.vmImage }}
  steps:
  - script: npm install
  - script: npm test

然后你引用它

# Repo: Contoso/LinuxProduct
# File: azure-pipelines.yml
resources:
  repositories:
    - repository: templates
      type: github
      name: Contoso/BuildTemplates

jobs:
- template: common.yml@templates  # Template reference

但这必须是模板。不是完整的管道。您不能像上面那样引用完整管道作为模板。例如triggerpool模板中不允许使用关键字。


推荐阅读