首页 > 解决方案 > ARM模板部署:重用参数文件中的任务参数

问题描述

我在发布管道中使用 ARM 模板部署任务。该任务有一个名为 的参数Location

在我的 parameters.json 文件中,我还有一个名为Location. 我怎样才能更改此文件,以便它读取任务本身设置的值?

目前,该值是从来自 azure keyvault 的变量组的变量中读取的。但我认为让这个位置参数来自保险库有点过头了。

看

标签: azureazure-pipelinesarm-template

解决方案


根据我的测试,我注意到 xxx.parameters.json 中的值无法读取管道中变量的值。

例如:

我在管道变量中设置了变量(测试:abc)。然后我在 xxx.parameters.json 文件中使用它。资源组创建时,不会在资源组中读取变量。

parameters.json 示例:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "adminUsername": {
            "value": "test"
        },
       "location": {
           "value": "$(test)"

       }

    }
  }

在此处输入图像描述

从结果来看,位置值似乎无法在 json 文件中自动使用。

您可能需要使用tokenizer任务手动覆盖 json 文件中的特定值。然后可以在资源组中使用该值。

或者您可以直接Override template parameters在 ARM 模板任务中使用。

在此处输入图像描述

希望这会有所帮助。


推荐阅读