0

我目前正在从完整的站点发布管理迁移到 TFS 2015 中的基于 Web 的版本。我注意到的一件事是,在旧客户端中,您可以创建部署序列并配置操作以并行运行,例如我可能同时运行这两个步骤:

SQLServer - DeployDatabase.ps1
AppServer - DeployWebApp.ps1

在基于 Web 的版本中,“Actions”(现在称为“Tasks”)的等效项似乎只能连续设置。因此,当您将并行任务的概念扩展到多个服务器角色(都执行独立的步骤)时,您可以看到可能会浪费大量时间。

为清楚起见,我知道您可以设置一个任务来定位一组服务器,但这将限制您一次只能运行一种类型的任务。

所以我的问题是:这个功能是否存在?我在某个地方错过了一个技巧吗?似乎新的基于 Web 的发布管理更关注事物的并行环境部署方面,忘记了在每个环境中以尽可能快的方式进行部署的需要。

编辑:我上面描述的一个例子。

平行模板

您可以看到我在一个环境中的不同服务器角色上发生了并行部署。我理解 Daniel Mann 在回答中提出的建议是创建多个环境并相应地触发,添加多个“Envs”来满足这一点的问题是我们失去了所有好的东西,比如快速复制和操作环境的能力. IE 我设置了一个 DEV 环境模板并复制这个“环境”来创建“QA”,但如果我有 10 个“环境”来创建一个真正的“环境”,那么我必须管理该开销。感觉就像新产品中删除了很大一部分可用性。还是我错过了新概念?

4

1 回答 1

1

TFS 2015 中的产品在这方面有点有限,但从那时起,产品一直在迅速改进。在 TFS 2017(和 VS Team Services)中,您可以为环境设置更强大的环境触发器和部署条件。这允许您“扇出”到多个同时的环境,然后“扇入”到后续环境。有了它,例如,您可以拥有一个如下所示的环境管道:

         Dev
     _____|_________
     |              |
QA Database Tier QA Web Tier
     |_______________|
          |
       Staging
          |
         etc

只要有多个代理可以运行它们,这两个“QA”环境都可以独立并行部署。

但是,还要记住,围绕并发构建/部署的许可要求在 TFS 2017 和 VS Team Services 中是不同的。TFS 2015 中的发布中心被认为是“预览版”,并且在可以运行多少并发构建/部署管道方面没有任何特定的许可要求。

于 2017-02-07T04:42:14.890 回答