如何在 VSTS 中添加秘密变量作为任务环境变量
How to add secret variable as task environment variable in VSTS
This documentation 声明秘密变量是
Not decrypted into environment variables. So scripts and programs run by your build steps are not given access by default.
我的一个构建任务需要设置一个存储在秘密变量中的环境变量。这是否意味着不可能在 VSTS 中使用秘密变量来执行此操作?如果没有,我该怎么做?
为了进一步了解背景,我正在尝试使用 electron-builder 对我的 electron 应用程序进行代码签名。 It requires 设置了两个环境变量:CSC_LINK
和CSC_KEY_PASSWORD
。其中之一是代码签名证书的密码,因此需要保持安全。
您可以在构建定义的“变量”页面中提供要传递给任务的变量:
然后它们可以像这样作为输入传递给任务:
设置环境变量
使用命令行任务,如下所示:
target_environment_variable 现在包含 secret_variable 的值。
验证
添加将所有环境变量写入磁盘文件的后续命令行任务,如下所示:(注意:在“参数”文本框中,写入您和构建代理都可以访问的文件夹):
排队构建定义,然后查看包含环境变量的文件:
当使用 YAML 语法时,这也可以实现:
steps:
- script: |
echo %MYSECRET%
env:
MySecret: $(Secret_Variable)
This documentation 声明秘密变量是
Not decrypted into environment variables. So scripts and programs run by your build steps are not given access by default.
我的一个构建任务需要设置一个存储在秘密变量中的环境变量。这是否意味着不可能在 VSTS 中使用秘密变量来执行此操作?如果没有,我该怎么做?
为了进一步了解背景,我正在尝试使用 electron-builder 对我的 electron 应用程序进行代码签名。 It requires 设置了两个环境变量:CSC_LINK
和CSC_KEY_PASSWORD
。其中之一是代码签名证书的密码,因此需要保持安全。
您可以在构建定义的“变量”页面中提供要传递给任务的变量:
然后它们可以像这样作为输入传递给任务:
设置环境变量
使用命令行任务,如下所示:
target_environment_variable 现在包含 secret_variable 的值。
验证
添加将所有环境变量写入磁盘文件的后续命令行任务,如下所示:(注意:在“参数”文本框中,写入您和构建代理都可以访问的文件夹):
排队构建定义,然后查看包含环境变量的文件:
当使用 YAML 语法时,这也可以实现:
steps:
- script: |
echo %MYSECRET%
env:
MySecret: $(Secret_Variable)