如何在 npm 任务中使用秘密任务变量

How to use secret task variables with npm tasks

我定义了 Variable GroupKey Vault 下载 secrets
看起来不像其他变量,机密不会自动设置为环境变量。
我试过使用 bash 脚本获取那些 'task variables' 并将它们设置为环境变量,但它们在下一个任务中消失了:

export ENV1=$(someSecretTaskVariable)

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

应该怎么做?

我认为您无法通过 UI 执行此操作,但通过 yaml 您可以执行此操作:

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

显然你可以这样做:

Unlike a normal variable, they are not automatically decrypted into environment variables for scripts. You can explicitly map them in, though.

To pass a secret to a script, use the Environment section of the scripting task's input variables.

好像 UI 你只能用脚本任务来做到这一点

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

如果你想创建一个传递给后续 Azure DevOps 任务的环境变量,可以试试这个:

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

而不是export ENV1=$(someSecretTaskVariable)

Set variables in scripts