我有两个不同的Azure管道帐户,一个设置了秘密变量,另一个没有设置任何变量。
在script
任务中,我希望有可用的秘密变量。文件建议这样传递:
env:
MY_MAPPED_ENV_VAR: $(mySecret)
但是,如果我在没有设置变量的帐户中运行管道,则MY_MAPPED_ENV_VAR
将设置为$(mySecret)
。如果$(mySecret)
不可用,我如何定义环境变量以使MY_MAPPED_ENV_VAR
为空(或未设置(。
我尝试了以下方法:
MY_MAPPED_ENV_VAR: ${{variables.mySecret}}
(值始终为空(MY_MAPPED_ENV_VAR: ${{variables['mySecret']}}
(值始终为空(MY_MAPPED_ENV_VAR: ${{mySecret}}
(语法错误(MY_MAPPED_ENV_VAR: $[variables.mySecret]
(如果secret不可用,则将值设置为$[variables.mySecret]
,即使文档声明在找不到变量时该值将显示为"未设置"(
您可以尝试有条件地分配一个变量:
variables:
mySecret1: $[variables.mySecret]
steps:
- powershell: |
Write-Host "This works: $(mySecret1)"