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

问题描述 投票:0回答:2

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

enter image description here

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

enter image description here

在这里我的问题。

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

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

enter image description here

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

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

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

tfs tfs2017 azure-pipelines-release-pipeline
2个回答
1
投票

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


0
投票

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

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

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

您可以参考以下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

© www.soinside.com 2019 - 2024. All rights reserved.