2017-10-13 126 views
1

我试图完成一个级联变量,其中当一个设计时间变量被设置,它级联到其他变量。这可能吗?我试着点符号,我已经试过没有点符号,我一直试图做的任务:VSTS嵌套变量

Dot Notation Variables

Not Dot Notation

Inside Task

我也尝试过这个任务插件,但我的代理程序在2.0上,任务不运行。

Variable Toolbox Task

任何想法?

答案:

您可以在环境级别覆盖这些变量。我将不得不手动在脚本中扩展这些变量,然后将它们设置为此脚本中已解析的值。

+0

它正常工作对我来说:'服务器:$'(服务器$(环境)。)。你如何使用'Server'变量? (我用它在PowerShell中的任务参数)什么的代理版本的版本(托管代理人和私人代理人(2.120.2)做工精细) –

+1

你解决这个问题? –

+0

@ starain-MSFT是的,你的答案会真正解决这个问题,因为我可以写一个程序来拉VSTS从脚本生成变量,然后在该脚本扩展这些变量自己。感谢您的输入。 – Magn3s1um

回答

1

您可以在生成过程中设置通过Logging Command变量值:

  1. 添加PowerShell的任务

脚本:(需使用_,而不是如果变量包含.,如Server.Dev => Server_Dev)

$v= [Environment]::GetEnvironmentVariable("Server_$env:Environment") 
Write-Host ("##vso[task.setvariable variable=Server;]$v") 
  • 然后,弗洛翼任务可以使用服务器变量与相应的值
  • 1

    而不是每个环境有不同的变量,使用相同的变量,但在环境级别覆盖它。