【问题标题】:Passing secureObject array as VSTS variable将secureObject数组作为VSTS变量传递
【发布时间】:2017-12-23 09:55:17
【问题描述】:

我有一个 ARM 模板,用于部署 Key Vault 并在其中填充机密。它确实根据参数 secretsObject 中有多少个数组创建秘密。例如,如果我有:

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

模板将创建 2 个秘密。所以这是我放入 .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.

【问题讨论】:

  • 值是对象,所以尽量指定值到{"secrets":[{......}]}
  • 是的,这就是我所引用的。我刚刚引用了{"secrets":[{"secretName":"exampleSecret1","secretValue":"secretVaule1"},{"secretName":"exampleSecret2","secretValue":"secretValue2"},{"secretName":"exampleSecret3","secretValue":"secretVaule3"}]} 并收到了一个错误:Deployment template validation failed: 'The provided value for the template parameter 'secretsObject' at line '1' and column '1411' is not valid.'. Task failed while creating or updating the template deployment.
  • 我也遇到了同样的问题,如果你解决了这个问题,请告诉我。
  • 不,没有解决这个问题。

标签: azure-devops azure-pipelines azure-resource-manager azure-pipelines-build-task arm-template


【解决方案1】:

Azure 资源组部署任务出现问题,我在这里提交反馈:VSTS 构建/发布任务:Override template parameters of Azure Resource Group Deployment

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

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

更新:

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

【讨论】:

猜你喜欢
  • 2020-09-27
  • 1970-01-01
  • 2020-09-21
  • 1970-01-01
  • 2018-02-28
  • 2013-02-09
  • 2018-08-05
  • 2021-03-06
相关资源
最近更新 更多