微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure DevOps 抱怨语法循环

如何解决Azure DevOps 抱怨语法循环

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

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

怎么了?

enter image description here

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

阶段:

解决方法

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

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

enter image description here

它工作正常,但 ADO 仍然抱怨语法。但是如果保存并运行。它有效...

enter image description here

,

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

结果:

enter image description here

您也可以参考有关 loop through parameterstemplate 的文档。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。