问题描述
trigger: none
pool:
vmImage: 'ubuntu-18.04'
parameters:
- name: themeNames
values:
- '1'
- '2'
- '3'
stages:
- stage: dev
displayName: Dev
jobs:
- job: Deploy
steps:
- ${{ each parameter in parameters.themeNames }}:
- template: build.yml
parameters:
themeName: ${{ parameter }}
现在我使用这样的解决方案,但我不喜欢它
阶段:
解决方法
我的解决方案:使用一个参数运行管道是使用类型对象。
pool:
vmImage: 'ubuntu-18.04'
parameters:
- name: themeNames1
type: object
default:
- 1
- 2
- 3
stages:
- stage: dev
displayName: Dev
jobs:
- job: Deploy
steps:
- ${{ each parameter in parameters.themeNames1 }}:
- bash: echo " ${{ parameter }}"
它工作正常,但 ADO 仍然抱怨语法。但是如果保存并运行。它有效...
,请将 themeNames 的值分成三个不同的参数。否则,当您运行管道时,themeNames 只有一个值。这是我的示例:
azure-pipelines.yml:
parameters:
- name: themeNames1
default: 1
- name: themeNames2
default: 2
- name: themeNames3
default: 3
stages:
- stage: dev
displayName: Dev
jobs:
- job: Deploy
steps:
- ${{ each parameter in parameters }}:
- template: build.yml
parameters:
themeName: ${{ parameter.value }}
build.yml:
parameters:
- name: themeName
default: ''
steps:
- script: echo ${{ parameters.themeName }}
结果:
您也可以参考有关 loop through parameters 和 template 的文档。