Azure devops 使用同一YAML文件的多个生成

Azure devops 使用同一YAML文件的多个生成,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,我有一个Ionic应用程序,应该为ios和android构建。该应用程序还为多个客户构建,其中每个客户都有自己的主题 构建之间的唯一区别是平台和一个环境变量。因此,我希望重用YAML文件,而不是为每个客户创建单独的构建并在他们之间复制YAML文件 是否可以使用同一YAML文件触发多个构建并为每个构建设置变量 同意4c74356b41,正如4c74356b41所说,您可以使用模板定义一次逻辑,然后重复使用多次 您可以通过模板重用步骤、作业、阶段和变量。例如,步骤重用: 文件:templates/n

我有一个Ionic应用程序,应该为ios和android构建。该应用程序还为多个客户构建,其中每个客户都有自己的主题

构建之间的唯一区别是平台和一个环境变量。因此,我希望重用YAML文件,而不是为每个客户创建单独的构建并在他们之间复制YAML文件


是否可以使用同一YAML文件触发多个构建并为每个构建设置变量

同意4c74356b41,正如4c74356b41所说,您可以使用模板定义一次逻辑,然后重复使用多次

您可以通过模板重用步骤、作业、阶段和变量。例如,步骤重用:

文件:templates/npm-steps.yml:

steps:
- script: npm install
- script: npm test
文件:azure-pipelines.yml:

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-16.04'
  steps:
  - template: templates/npm-steps.yml  # Template reference

- job: macOS
  pool:
    vmImage: 'macOS-10.13'
  steps:
  - template: templates/npm-steps.yml  # Template reference
可以跨多个作业重用一个或多个步骤。除了模板中的步骤外,每个作业还可以定义其他步骤

传递参数

文件:templates/npm-with-params.yml:

parameters:
  name: ''  # defaults for any parameters that aren't specified
  vmImage: ''

jobs:
- job: ${{ parameters.name }}
  pool: 
    vmImage: ${{ parameters.vmImage }}
在管道中使用模板时,请为模板参数指定值

jobs:
- template: templates/npm-with-params.yml  # Template reference
  parameters:
    name: Linux
    vmImage: 'ubuntu-16.04'

- template: templates/npm-with-params.yml  # Template reference
  parameters:
    name: macOS
    vmImage: 'macOS-10.13'

有关详细信息,请参阅此项。

是的,这是可能的。你真的试过设置它吗?这应该是直截了当的。如果没有,请参阅文档。如果您有特定的问题,请随时提问。另外:在同一个YAML文件中定义多个作业,这些作业引用包含构建步骤的单独、参数化的YAML文件也会起作用。您可能应该在azure devops YAML中寻找模板