使用TFS我想将同一个Web应用程序部署到两个不同的位置(West,Central)。为此,我试图使用Run on multiple agents in parallel
选项同时运行两个位置的阶段。
以下示例仅包含一步Deploy Website files
在这里我的问题。
如何根据$(WebsiteServer)
为multiplier变量提供不同的值?
我试图在环境中配置多个变量。
然后使用它们像$($(Location).WebsiteServer))
,但不能正确扩展。
我现在正在考虑创建一个自定义任务,该任务将在发布时基于硬编码值创建变量,并使用这些变量。但它似乎很hacky。
有没有更好的方法来解决这个问题?
使WebsiteServer
成为乘数,然后将值设置为逗号分隔的服务器列表。
WebsiteServer,User和Pass变量是存储您的WebsiteServer IP,用户名和密码的一些中间变量。您可以按照以下方式配置您的环境。
您可以通过从嵌套的varialbes(例如$($(Location).WebsiteServer)中记录命令“## vso [task.setvariable variable = variableName] variableValue”来添加PowerShell任务以修改WebsiteServer,User和Pass变量的值。
您可以参考以下powershell脚本:
脚本:
Write-Host "##vso[task.setvariable variable=WebsiteServer]$($(Location).WebsiteServer)"
Write-Host "##vso[task.setvariable variable=User]$($(Location).User)"
Write-Host "##vso[task.setvariable variable=Pass]$($(Location).Pass)"