TFS:将相同的应用程序部署到多个地理站点

时间:2017-12-19 18:21:08

标签: tfs tfs2017 azure-pipelines-release-pipeline

使用TFS我想将同一个Web应用程序部署到两个不同的位置(West,Central)。为此,我尝试使用Run on multiple agents in parallel选项同时运行两个位置。

enter image description here

以下示例仅包含一个步骤Deploy Website files

enter image description here

这是我的问题。

如何根据multiplier$(WebsiteServer)变量提供不同的值?

我试图在环境中配置多个变量。

enter image description here

然后像$($(Location).WebsiteServer))一样使用它们但不能正确扩展。

我现在正在考虑创建一个自定义任务,该任务将根据硬编码值在发布时创建变量,并使用这些变量。但它似乎很hacky。

有没有更好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:1)

设置WebsiteServer乘数,然后将值设为逗号分隔的服务器列表。

答案 1 :(得分:0)

您可以添加一些变量,如下所示。 enter image description here

WebsiteServer,User和Pass变量是存储您的WebsiteServer IP,用户名和密码的一些中间变量。 您可以按照以下方式配置您的环境。 enter image description here

您可以通过从嵌套变量中记录命令“## vso [task.setvariable variable = variableName] variableValue”来添加PowerShell任务来修改WebsiteServer,User和Pass变量的值,例如$($(地点).WebsiteServer)。

您可以参考以下powershell脚本:

enter image description here

脚本:

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)"

您可以在复制文件任务中使用WebsiteServer,User和Pass变量,如下所示。 enter image description here