如何将秘密任务变量与npm任务一起使用

时间:2019-07-10 14:40:24

标签: azure azure-devops azure-pipelines azure-pipelines-build-task azure-pipelines-tasks

我已经定义了Variable Group,它可以从secrets下载Key Vault
看起来与其他变量不同,机密不会自动设置为环境变量。
我尝试使用bash脚本来获取那些“任务变量”并将其设置为环境变量,但是它们在下一个任务中消失了:

export ENV1=$(someSecretTaskVariable)

我正在使用npm任务,该任务无法通过UI提供环境变量,而yaml是只读的。

这应该怎么做?

2 个答案:

答案 0 :(得分:1)

我不认为您可以通过UI来完成此操作,但是通过yaml,您可以这样做:

- task: xxx
  env:
    ENV1=$(someSecretTaskVariable)

显然,您可以这样做:

  

与普通变量不同,它们不会自动解密为   脚本的环境变量。您可以明确地将它们映射到   但是。

     

要将机密传递给脚本,请使用   脚本任务的输入变量。

好像与UI一样,您只能通过脚本执行任务

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=classic%2Cbatch#secret-variables

答案 1 :(得分:1)

如果要创建传递给后续Azure DevOps任务的环境变量,请尝试以下操作:

Put into output root

代替echo '##vso[task.setvariable variable=ENV1]$(someSecretTaskVariable)'

Set variables in scripts