Team Foundation Server 中的并行发布作业

Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018 |TFS 2017

本文介绍 Team Foundation Server 2017 (TFS 2017) 或更高版本中 Azure Pipelines 的许可模式。 只要你具有 TFS 客户端访问许可证 (CAL) ,我们就不会对 Team Foundation Build (TFBuild) 进行收费。 有关 Azure Pipelines 中的许可的信息,请参阅运行并行作业

TFS 并行作业 使你能够在项目集合中一次运行一个发布。 你可以在集合中保留数百甚至数千个发布作业。 但是,若要一次运行多个版本,则需要其他并行作业。

Team Foundation server 中的每个集合都包含一个免费并行作业。 Team Foundation server 中的每个 Visual Studio Enterprise 订阅服务器都额外分配一个并行作业。

你可以从 Visual Studio Marketplace 购买其他专用作业。

重要

从 Azure DevOps Server 2019 开始,无需为版本中的自承载并发作业付费。 仅受你拥有的代理数的限制。

是否需要 TFS 2015 中的并行作业? 简短答案:否。 更多详细信息

如何使用并行作业

例如,Team Foundation server 中的集合有一个并行作业。 这允许该集合中的用户一次只运行一个发布。 当触发其他发布时,它们将排队,并等待前一个发布完成。

仅在将活动部署到阶段时,才需要并行作业。 等待批准不会消耗并行作业。 但是,在部署过程中等待手动干预会消耗并行作业。

并行作业简单示例

  1. 首先要部署 FabrikamFiber 版本10。
  2. 在发布10的部署完成后,将开始部署 FabrikamFiber Release 11。
  3. 在发布11的部署处于活动状态之前,版本12将排队。
  4. 版本11等待批准。 版本12的部署开始,因为等待批准的发布不使用并行作业。
  5. 尽管版本11已获得批准,但它仅在版本12的部署完成后才会恢复。
  6. 版本11正在等待手动干预。 版本13无法启动,因为手动干预状态使用并行作业。

手动干预不会使用 TFS 2017.1 和更高版本中的作业。

单个版本中的并行处理

单个版本中的并行处理不需要其他并行作业。 只要有足够的代理,就可以同时在发布中部署到多个阶段。

例如,假设您的集合有三个并行作业。 可以同时运行三个以上的代理,以便在版本内执行并行操作。 例如,请注意以下四个或五个代理正在积极地从三个并行作业中运行作业。

包含附加代理的并行作业示例

组织中的并行作业

例如,下面是一个具有多个 Team Foundation Server 的组织。 用户的两个用户都有 Visual Studio Enterprise 订阅,他们可以在其所有本地服务器和每个集合中同时使用这些订阅,只要客户将它们作为用户添加到这两个服务器中,就会如下所述。

组织示例中的并行作业

确定所需的并行作业数

首先,您可以看到您的团队是否可以使用您默认获取的并行作业。 由于已排队发布的数量超过了你拥有的并行作业数量,你的发布队列将变得更长。 如果发现队列延迟时间太长,可以根据需要购买额外的并行作业。

简单估计

简单的经验法则:估计您需要为服务器中的每10个用户提供一个并行作业。

详细估计

在以下情况下,你可能需要多个并行作业:

  • 如果有多个团队,每个团队都需要 CI 生成,并且每个 CI 版本都配置为触发发布,则每个团队可能都需要一个并行作业。

  • 如果在一个集合中开发多个应用程序,则可能需要其他并行作业:一个用于同时部署每个应用程序。

使用你的 Visual Studio Enterprise 订阅权益

将 Visual Studio Enterprise 订阅的用户分配给 TFS 实例的用户中心VS Enterprise访问级别。 每个用户为每个集合提供一个附加的并行作业。 你可以在组织中的所有 Team Foundation Server 上使用此权益。

  1. 浏览到 " 服务器设置"、" 访问级别"。

    显示服务器设置、访问级别的屏幕截图。

    URL 示例: http://{your_server}:8080/tfs/_admin/_licenses

  2. 在页面左侧,单击 " VS Enterprise"。

  3. 添加具有 Visual Studio Enterprise 订阅的用户。

添加这些用户后,其他许可证将显示在下面所述的 "资源限制" 页上。

购买其他并行作业

如果需要运行更多的并行版本,可以从 Visual Studio marketplace 购买其他专用作业。 由于没有办法直接从 Marketplace 为 TFS 实例购买并行作业,因此必须首先为 Azure DevOps 组织购买并行作业。 购买 Azure DevOps 组织的专用作业后,可在下面所述的 "资源限制" 页上手动输入购买的并行作业的数目。

查看和管理并行作业

  1. 浏览到集合设置Pipelines资源限制

    显示集合设置、Pipelines、资源限制的屏幕截图。

    URL 示例: http://{your_server}:8080/tfs/DefaultCollection/_admin/_buildQueue?_a=resourceLimits

  2. 查看或编辑购买的并行作业数量。

常见问题

Who 可以使用系统吗?

使用 TFS CAL 的 tfs 用户可以根据需要创作任意多个版本。

若要批准版本,则不需要 TFS CAL;具有 利益干系人访问权限 的任何用户都可以批准或拒绝发布。

是否需要并行作业才能在 TFS 上运行生成?

不可以。在 TFS 上,不需要并行作业来运行生成。 你可以同时运行任意数量的生成,而无需额外付费。

在 TFS 2017 之前的版本中,是否需要并行作业来管理版本?

不能。

在 TFS 2015 中,只要你的用户拥有 TFS CAL,他们就可以在试用模式下管理发布,无需支付额外费用。 我们称之为 "试用模式",表示我们最终会对管理发布收费。 尽管有此标签,但我们完全支持在 TFS 2015 中管理发布。

Azure Pipelines 如何在中获得许可?

请参阅Azure Pipelines 中的并行作业