如何在VSTS中将秘密变量添加为任务环境变量

时间:2017-05-18 02:15:37

标签: azure-devops electron azure-pipelines-build-task electron-builder

This documentation表示秘密变量是

  

未解密为环境变量。因此,默认情况下,您的构建步骤运行的脚本和程序不会被授予访问权限。

我的一个构建任务要求设置一个存储在一个秘密变量中的环境变量。这是否意味着使用VSTS中的秘密变量无法做到这一点?如果没有,我该怎么做?

为了进一步了解背景,我尝试使用电子修建器对我的电子应用进行编码。 It requires设置了两个环境变量:CSC_KEY_PASSWORD和{{1}}。其中一个是代码签名证书的密码,因此需要保持安全。

3 个答案:

答案 0 :(得分:4)

设置环境变量

使用命令行任务,如下所示:

VSTS Build - copy secret var to environment var

target_environment_variable 现在包含 secret_variable 的值。

验证

添加一个后续命令行任务,将所有环境变量写入磁盘文件,如下所示:(注意:在Arguments文本框中,写入您和构建代理可以访问的文件夹 ):

VSTS Build - write env vars to disk


对构建定义进行排队,然后查看包含环境变量的文件:

VSTS Build - view file of env vars

答案 1 :(得分:1)

您可以在构建定义的“变量”页面中提供要传递给任务的变量:

enter image description here

然后可以将它们作为输入传递给任务,如下所示:

enter image description here

答案 2 :(得分:1)

使用YAML语法时,这也可以实现:

steps:
- script: |
    echo %MYSECRET%
  env:
    MySecret: ${Secret_Variable}