如何在Azure发布管道中引用变量组变量为Bicep参数赋值?
问题:Azure发布管道中安全传递KeyVault密钥参数到Bicep
我在使用Azure发布管道创建Azure资源时,需要为新建/更新的KeyVault密钥设置DBConnection字符串参数,但不希望在参数文件中以明文存储该值。已经在Pipelines/Library中创建变量组并将其添加到管道变量中,但无法在Bicep文件或参数文件中直接引用该变量。
相关代码片段
Bicep文件中的参数定义:
param DBConnection string
参数文件parameters.json片段:
.. "parameters": { "DBConnection": { "value":"我希望该值来自管道变量" },
尝试过的无效方法
曾在参数文件中尝试使用"value": "$(DBConnection)",但结果只是将字符串"$(DBConnection)"直接写入密钥,并未解析管道变量。
解决方案
通过在发布管道的Override template parameters中添加以下配置,成功实现了变量值的传递:
-DBConnection "$(DBConnection)"
注意事项
最初使用-DBConnection $(DBConnection)一直无法生效,排查数小时后发现:如果变量值中包含空格,不加双引号会导致变量解析为空,必须用双引号将变量包裹起来才能正确解析。
内容的提问来源于stack exchange,提问作者Steen
相关产品推荐
相关产品推荐

