有条件地继承 YAML 模板
Inherting YAML templates on conditional basis
我有一个用于 Azure 数据工厂的 DEV、ACC、PRD 的 Yaml 模板。我也有一个用于网络应用程序。
我想要一个额外的选项,通过继承(或重用)将它们一起部署在一个 Yaml 中。这样我就可以单独或成组部署它们。可能吗?
这是我的yaml模板a的示例
trigger: none
stages:
- stage: DEV
variables:
environment: 't'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
- stage: ACC
variables:
environment: 'd'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
- stage: PRD
variables:
environment: 'd'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
这是构建部分(未添加所有参数)
parameters:
- name: location
type: string
default: ''
jobs:
- deployment: Build
pool:
name: Azure Pipelines
vmImage: windows-2019
environment: '${{ parameters.devopsEnv }}'
strategy:
runOnce:
deploy:
steps:
- checkout: self
- task: AzureKeyVault@1
inputs:
azureSubscription: '${{ parameters. subscription }}'
keyVaultName: '${{ parameters.keyVaultName }}'
您可以在 yaml 文件中使用参数和条件:
parameters:
- name: DEV
type: boolean
default: true
- name: ACC
type: boolean
default: true
- name: PRD
type: boolean
default: true
stages:
- stage: DEV
condition: eq(${{ parameters.DEV }},'true')
variables:
environment: 't'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
- stage: ACC
condition: eq(${{ parameters.ACC }},'true')
variables:
environment: 'd'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
- stage: PRD
condition: eq(${{ parameters.PRD }},'true')
variables:
environment: 'd'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
当 运行宁管道时,您可以选择要 运行 的阶段。
我有一个用于 Azure 数据工厂的 DEV、ACC、PRD 的 Yaml 模板。我也有一个用于网络应用程序。
我想要一个额外的选项,通过继承(或重用)将它们一起部署在一个 Yaml 中。这样我就可以单独或成组部署它们。可能吗?
这是我的yaml模板a的示例
trigger: none
stages:
- stage: DEV
variables:
environment: 't'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
- stage: ACC
variables:
environment: 'd'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
- stage: PRD
variables:
environment: 'd'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
这是构建部分(未添加所有参数)
parameters:
- name: location
type: string
default: ''
jobs:
- deployment: Build
pool:
name: Azure Pipelines
vmImage: windows-2019
environment: '${{ parameters.devopsEnv }}'
strategy:
runOnce:
deploy:
steps:
- checkout: self
- task: AzureKeyVault@1
inputs:
azureSubscription: '${{ parameters. subscription }}'
keyVaultName: '${{ parameters.keyVaultName }}'
您可以在 yaml 文件中使用参数和条件:
parameters:
- name: DEV
type: boolean
default: true
- name: ACC
type: boolean
default: true
- name: PRD
type: boolean
default: true
stages:
- stage: DEV
condition: eq(${{ parameters.DEV }},'true')
variables:
environment: 't'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
- stage: ACC
condition: eq(${{ parameters.ACC }},'true')
variables:
environment: 'd'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
- stage: PRD
condition: eq(${{ parameters.PRD }},'true')
variables:
environment: 'd'
system.debug: true
jobs :
- template: shared-build.yml
parameters:
location: 'westeurope'
当 运行宁管道时,您可以选择要 运行 的阶段。