首页 > 解决方案 > Azure 管道在使用模板时展开每个参数

问题描述

我有以下设置、一个模板文件和一个扩展模板的管道。我想知道是否可以将所有参数动态添加到扩展参数?

模板.yml

parameters:
- name: Location
  type: string
  default: 'eastus'

华盛顿.yml

parameters:
- name: Location
  type: string
  default: 'westus'

extends:
  template: Template.yml
  parameters:
    Location: ${{ parameters.Location }} 

我可以做这样的事情,但我认为它不起作用,因为parameters将使用 shadowed 变量而不是 root level parameters

parameters:
- name: Location
  type: string
  default: 'westus'

extends:
  template: Template.yml
  parameters:
  - ${{ each param in parameters }}
    ${{ param.Name  }}: ${{ param.Value }}

标签: azureazure-devopsyamlazure-pipelines

解决方案


这对我有用:

parameters:
- name: Location
  type: string
  default: 'westus'

extends:
  template: Template.yml
  parameters:
    ${{ each param in parameters }}:
      ${{ param.Key }}: ${{ param.Value }}

所以你有小的语法问题。

它打印:

在此处输入图像描述

假设模板是:

parameters:
- name: Location
  type: string
  default: 'eastus'

steps:
- script: echo ${{ parameters.Location }}

推荐阅读