You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipelines YAML中遍历多值的Schemes参数

解决方案

要实现遍历Schemes参数的取值,只需做两处关键修改:

1. 调整Schemes参数定义(支持多选可选,但需遍历多值时必须设置)

原Schemes为单值字符串类型,若要支持选择多个方案并遍历,需开启多选配置:

parameters:
- name: Schemes
  type: string
  default: 'Staging'
  values: ['QA', 'Staging']
  allowMultipleValues: true # 新增:允许选择多个值

若仅需遍历单个选中值,也可以不添加allowMultipleValues: true,开启后兼容性更强。

2. 修改步骤中的遍历逻辑,直接遍历Schemes参数

将原来遍历variable1的代码,替换为遍历parameters.Schemes:

steps:
  - ${{ if eq(parameters.test, true) }}:
    # 现在遍历Schemes参数的取值
    - ${{ each scheme in parameters.Schemes }}:
      - script: echo "Running tests.. ${{ scheme }}"

完整修改后的YAML

parameters:
- name: Schemes
  type: string
  default: 'Staging'
  values: ['QA', 'Staging']
  allowMultipleValues: true

- name: test
  displayName: Run Tests?
  type: boolean
  default: false

variables:
- name: variable1
  value: QA,Staging # 该变量可保留或删除,不再用于遍历逻辑

trigger:
- master

pool:
  vmImage: ubuntu-latest

steps:
  - ${{ if eq(parameters.test, true) }}:
    - ${{ each scheme in parameters.Schemes }}:
      - script: echo "Running tests.. ${{ scheme }}"

说明

  • 开启allowMultipleValues: true后,触发流水线时可选择一个或多个Schemes值,流水线会为每个选中值执行一次script步骤。
  • 若无需多选,仅遍历单个选中值,去掉allowMultipleValues: true后代码依然有效,此时parameters.Schemes为单个字符串,遍历逻辑会执行一次。

内容的提问来源于stack exchange,提问作者depreston

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 06:12:22