将 secureObject 数组作为 VSTS 变量传递

Passing secureObject array as VSTS variable

我有一个部署 Key Vault 并用机密填充它的 ARM 模板。它确实会根据参数 secretsObject 中的数组数量来创建机密。例如,如果我有:

"secretsObject": {
  "type": "secureObject",
  "defaultValue": {
    "secrets": [
      {
        "secretName": "exampleSecret1",
        "secretValue": "secretVaule1"
      },
      {
        "secretName": "exampleSecret2",
        "secretValue": "secretValue2"
      }
    ]
  }
}

该模板将创建 2 个 Secret。所以这是我放入 .parameters.json 以从 Visual Studio:

部署模板的行
        "secrets": [
      {
        "secretName": "exampleSecret1",
        "secretValue": "secretVaule1"
      },
      {
        "secretName": "exampleSecret2",
        "secretValue": "secretValue2"
      }
    ]

问题是我不知道如何将这样的行作为变量传递到 VSTS(以覆盖参数)。 This is the ARM template I'm using

There were errors in your deployment. Error code: InvalidDeploymentParameterKey.
One of the deployment parameters has an empty key. Please see https://aka.ms/arm-deploy/#parameter-file for details.
Processed: ##vso[task.issue type=error;]One of the deployment parameters has an empty key. Please see https://aka.ms/arm-deploy/#parameter-file for details.
task result: Failed
Task failed while creating or updating the template deployment.

Azure 资源组部署任务有问题,我在这里提交反馈:VSTS build/release 任务:Override template parameters of Azure Resource Group Deployment.

解决方法是您可以在 build/release(例如 parameter.json)期间更新参数文件,并在 Azure 资源组部署任务中指定此参数文件。

更新文件有多种方法,例如Replace Tokens

更新:

Gitgub 反馈:https://github.com/Microsoft/vsts-tasks/issues/6108