我可以向 Azure DevOps 中的现有变量组添加多个变量吗?

Can I add more than one variable to an existing variable group in Azure DevOps?

我有一个启动管道,其中有一个任务使用 Azure CLI:az pipelines variable-group variable create。我的整个脚本如下所示:

steps:
  - bash: |
      az pipelines variable-group variable create \
        --group-id 113 \
        --name envName \
        --value ${{parameters.envName}} \
        --org $(System.CollectionUri) \
        --project $(System.TeamProject)
    displayName: 'Add variables to group'
    env:
      AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)

运行执行此命令后,变量现在存在于我的变量组中。但是,我想知道是否有办法一次添加多个变量?例如:

steps:
  - bash: |
      az pipelines variable-group variable create \
        --group-id 113 \
        --name location \ # First variable
        --value ${{parameters.location}} \
        --name envName \ # Second variable
        --value ${{parameters.envName}} \
        --org $(System.CollectionUri) \
        --project $(System.TeamProject)
    displayName: 'Add variables to group'
    env:
      AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)

当我运行此脚本带有附加变量时,第一个变量被下一个变量覆盖。我正在研究创建一个循环,该循环将遍历我的所有参数,然后将其传递到我的脚本中。类似于:

steps:
  ${{each parameter in parameters}}:
    - bash: |
        az pipelines variable-group variable create \
          --group-id 113 \
          --name ${{parameter.Key}} \
          --value ${{parameters.Value}} \
          --org $(System.CollectionUri) \
          --project $(System.TeamProject)
      displayName: 'Add variables to group'
      env:
        AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)

最后一个脚本给了我 A mapping was not expected.

有没有一种方法可以使用脚本将多个变量添加到一个已经存在的变量组中?

你的 each 很好,我只是修复了一些小语法并且它有效:

parameters:
  - name: test1
    displayName: test1
    type: string
    default: "Test-1"
  - name: test2
    displayName: test2
    type: string
    default: "Test-2"
    
jobs:
- job: VG
  steps: 
  - ${{ each parameter in parameters }}:
    - bash: |
        az pipelines variable-group variable create \
          --group-id 113 \
          --name ${{parameter.Key}} \
          --value ${{parameter.Value}} \
          --org $(System.CollectionUri) \
          --project $(System.TeamProject)
      displayName: 'Add variable ${{parameter.Key}} to group'
      env:
        AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)

结果: