TFS构建定义秘密变量

时间:2017-05-01 02:33:27

标签: powershell tfs tfsbuild

我的构建定义中有几个秘密变量,我将在构建步骤的参数属性中传递给powershell函数,但它们将作为********发送而不是被解密。 / p>

我在PowerShell脚本调用中传递的参数如下:$(accesskey)和$(secretkey)在构建定义中设置为secret:

-source "$(CodeDeploySource)" -destination "$(CodeDeployDestination)" -Description "$(Description)" -Location "$(Location)" -ApplicationName "$(ApplicationName)" -DeploymentGroup "$(DeploymentGroup)" -DeploymentConfig "$(DeploymentConfig)" -ak "$(accesskey)" -sk "$(secretkey)" -region "$(region)"

我的powershell脚本的参数部分是:

param(
[string]$source,
[string]$destination,
[string]$Description,
[string]$Location,
[string]$ApplicationName,
[string]$DeploymentGroup,
[string]$DeploymentConfig,
[string]$ak,
[string]$sk,
[string]$region
)

是否必须在TFS中启用配置才能在构建过程中解密秘密变量?

1 个答案:

答案 0 :(得分:1)

您不需要进行任何配置来解密秘密变量。我已经复制了您的问题并在构建日志中找到,它显示为*****。实际上,在Official document它提到了:

  

未返回客户端。它们会被自动屏蔽掉   构建或发布的任何日志输出。

     

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

因此无法从构建日志中看到它。但它不会对你的构建产生影响。该值可以在PowerShell脚本中获取,并且可以成功使用。它不能输出,因为它是一个秘密变量。