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

Azure DevOps YAML管道:如何向子模板传递多个变量组

实现向YAML管道模板传递多个变量组

方案1:逗号分隔字符串传递(适配需求格式)

主管道传递示例

将多个变量组名称用逗号拼接后,作为参数值传递给模板:

stages:
- template: my-template.yml
  parameters:
    environments:
      - name: test
        variablesGroup: "variable-group-1,variable-group-2,variable-group-3"

模板处理逻辑

在模板中使用split函数拆分逗号分隔的字符串,再循环遍历每个组名完成引用,同时用trim处理可能的空格问题:

variables:
  ${{ each item in parameters.environments }}:
    ${{ if item.variablesGroup }}:
      ${{ each groupName in split(item.variablesGroup, ',') }}:
        - group: ${{ trim(groupName) }}

方案2:直接传递数组(可读性更优)

如果不需要限制为逗号分隔格式,直接传递数组参数会更直观:

主管道传递示例

stages:
- template: my-template.yml
  parameters:
    environments:
      - name: test
        variablesGroups: 
          - variable-group-1
          - variable-group-2

模板处理逻辑

直接遍历数组中的每个变量组名称即可:

variables:
  ${{ each item in parameters.environments }}:
    ${{ if item.variablesGroups }}:
      ${{ each groupName in item.variablesGroups }}:
        - group: ${{ groupName }}

两种方案都能实现模板加载多个变量组的需求,可根据实际场景选择使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:43:13