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

Azure 如何在npm任务中使用秘密任务变量,azure,azure-devops,azure-pipelines,azure-pipelines-build-task,azure-pipelines-tasks,Azure,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,Azure Pipelines Tasks,我已经定义了变量组,它从密钥库下载机密 看起来与其他变量不同,机密不会自动设置为环境变量。 我曾尝试使用bash脚本获取这些“任务变量”,并将它们设置为环境变量,但它们在下一个任务中消失了: export ENV1=$(someSecretTaskVariable) 我使用的是npm任务,它不能通过UI提供环境变量,并且yaml是只读的 应该如何做到这一点?我不认为您可以通过UI做到这一点,但通过yaml您可以做到这一点: - task: xxx env: ENV1=$(someS

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

export ENV1=$(someSecretTaskVariable)
我使用的是
npm
任务,它不能通过UI提供环境变量,并且yaml是只读的

应该如何做到这一点?

我不认为您可以通过UI做到这一点,但通过yaml您可以做到这一点:

- task: xxx
  env:
    ENV1=$(someSecretTaskVariable)
显然你可以做到:

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

要将秘密传递给脚本,请使用 为任务的输入变量编写脚本

似乎在UI中,您只能通过脚本任务来实现这一点

我不认为你可以通过UI来实现这一点,但通过yaml你可以做到:

- task: xxx
  env:
    ENV1=$(someSecretTaskVariable)
显然你可以做到:

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

要将秘密传递给脚本,请使用 为任务的输入变量编写脚本

似乎在UI中,您只能通过脚本任务来实现这一点


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

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

而不是
export ENV1=$(someSecretTaskVariable)


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

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

而不是
export ENV1=$(someSecretTaskVariable)


如何编辑
yaml
?我只看到“查看YAML”按钮,该按钮仅显示YAML,无法编辑它。您需要将管道创建为YAML管道,而不是可视管道不幸的是
npm
task没有环境部分,因此我猜这将留给我们YAML管道,这太糟糕了:(当你习惯了yaml时,它确实会更好。这个管道也会与其他人共享。我更喜欢使用已知的管道,而不是让每个人都知道新的格式。我如何编辑
yaml
?我只看到“查看yaml”按钮,它只显示yaml,而没有编辑它的能力。你需要将管道创建为yaml管道,而不是可视管道不幸的是
npm
task没有环境部分,所以我想这留给我们的是yaml管道,这太糟糕了:(当你习惯了yaml后,它会变得更好。这条管道也会与其他人共享。我更喜欢使用已知的管道,而不是让每个人都知道一种新的形式。这不是最好的经验,但在这种情况下肯定会起作用。谢谢!这不是最好的经验,但在这种情况下肯定会起作用。谢谢!