Azure DevOps:用变量替换变量

Azure DevOps:用变量替换变量,azure,azure-devops,azure-keyvault,Azure,Azure Devops,Azure Keyvault,我有Azure密钥库,其中我写了一组密钥 dev-key stg-key prd-key 现在我已经在azure DevOps管道中下载了密钥dev密钥。我想将下载的变量映射到名为'key'的'constant'变量,因为此变量正在部署yaml文件中使用(我在令牌替换步骤中替换此变量) 目前我正在管道变量中映射这个变量,比如 tenant: dev key: $($(tenant)-key) 但是,该值在部署yaml文件中设置为键为$(dev key)。 我们可以用Azure DevOps中

我有
Azure密钥库
,其中我写了一组密钥

dev-key
stg-key
prd-key
现在我已经在azure DevOps管道中下载了密钥
dev密钥
。我想将下载的变量映射到名为
'key'
的'constant'变量,因为此变量正在部署yaml文件中使用(我在令牌替换步骤中替换此变量)

目前我正在管道变量中映射这个变量,比如

tenant: dev
key: $($(tenant)-key)
但是,该值在部署yaml文件中设置为键为
$(dev key)

我们可以用Azure DevOps中的变量替换变量吗?

目前不支持解析嵌套变量

见:

另一种解决方案是以下设置:

  • 每个环境都有一个
    钥匙库
  • 每个环境都有一个
    阶段
  • 每个
    密钥库中的密钥名称始终相同
  • 将每个vault链接到一个变量组中
  • 将每个变量组链接到您的管道中,并分配一个
    范围
  • 阶段的每个任务中
    访问
    变量组中声明的变量

通过此配置,您可以在任务中重复使用相同的密钥,并且实际值根据您定义的每个
阶段
的变量组范围来解析。

我通过将范围分配给变量来管理这一点

variable     value              scope
key         $(dev-key)           dev
key         $(stg-key)           stg
key         $(prd-key)           prd