VSTS 嵌套变量
VSTS Nested Variables
我正在尝试实现一个级联变量,当设置一个设计时变量时,它会级联到其他变量。这可能吗?我尝试过使用点符号,我尝试过不使用点符号,并且我尝试在任务中这样做:
我也试过这个任务插件,但是我的代理是 2.0,任务没有 运行。
有什么想法吗?
答案:
您可以在环境级别覆盖这些变量。我将不得不在我的脚本中手动扩展这些变量,然后将它们设置为该脚本中的已解析值。
不要为每个环境设置不同的变量,而是使用相同的变量,但在环境级别覆盖它。
您可以在构建过程中通过Logging Command设置变量值:
- 添加 PowerShell 任务
脚本:(如果变量包含.
,则需要使用_
代替,如Server.Dev=> Server_Dev)
$v= [Environment]::GetEnvironmentVariable("Server_$env:Environment")
Write-Host ("##vso[task.setvariable variable=Server;]$v")
- 那么接下来的任务可以使用对应值的Server变量
我正在尝试实现一个级联变量,当设置一个设计时变量时,它会级联到其他变量。这可能吗?我尝试过使用点符号,我尝试过不使用点符号,并且我尝试在任务中这样做:
我也试过这个任务插件,但是我的代理是 2.0,任务没有 运行。
有什么想法吗?
答案:
您可以在环境级别覆盖这些变量。我将不得不在我的脚本中手动扩展这些变量,然后将它们设置为该脚本中的已解析值。
不要为每个环境设置不同的变量,而是使用相同的变量,但在环境级别覆盖它。
您可以在构建过程中通过Logging Command设置变量值:
- 添加 PowerShell 任务
脚本:(如果变量包含.
,则需要使用_
代替,如Server.Dev=> Server_Dev)
$v= [Environment]::GetEnvironmentVariable("Server_$env:Environment")
Write-Host ("##vso[task.setvariable variable=Server;]$v")
- 那么接下来的任务可以使用对应值的Server变量