如何从Azure Pipelines表达式访问机密值



我有两个不同的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)"

最新更新