0

我有一些语法问题,但看起来不错。我找不到错误

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 }}

怎么了? 在此处输入图像描述

现在我使用这样的解决方案,但我不喜欢它

阶段:

  • 阶段:开发显示名称:开发工作:
    • 工作:部署步骤:
      • 模板:build.yml 参数:主题名称:'1'
      • 模板:build.yml 参数:主题名称:'2'
      • 模板:build.yml 参数:主题名称:'3'
4

2 回答 2

1

我的解决方案:使用一个参数运行管道是使用类型对象。

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 仍然抱怨语法。但如果保存并运行。有用...

在此处输入图像描述

于 2021-01-26T10:57:36.450 回答
0

请将 themeNames 的值分成三个不同的参数。否则,当您运行管道时,themeNames 只有一个值。这是我的示例:

天蓝色管道.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 }}

构建.yml

parameters:
- name: themeName
  default: ''
steps:
- script: echo ${{ parameters.themeName }}

结果:

在此处输入图像描述

您也可以参考有关循环参数模板的文档。

于 2021-01-22T04:14:32.407 回答