配置并行作业并支付相应费用

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

重要

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

了解如何估算所需的并行作业数并为组织购买更多并行作业。

注意

暂时禁止为公共项目和新组织中的某些私人项目免费授予并行作业。 但是,你可以通过提交 请求来请求此授予。 现有组织和项目不受影响。 处理免费层请求可能需要几天时间。 在某些时间段内,处理时间可能更长。

什么是并行作业?

定义管道时,可将其定义为作业集合。 当一个管道运行时,你可以在该管道中运行多个作业。 每个运行的作业会消耗一个在代理上运行的并行作业。 如果可供组织使用的并行作业不够,作业将会排队,并一个接一个地运行。

在 Azure Pipelines 中,可以在 Microsoft 托管的基础结构上运行并行作业,也可以在自己的(自托管)基础结构上运行并行作业。 每个并行作业都允许你一次在组织中运行单个作业。 如果使用本地服务器,则无需为并行作业付费。 并行作业的概念仅适用于 Azure DevOps Services。

Microsoft 托管的并行作业与自托管并行作业

如果要在 Microsoft 管理的计算机上运行作业,请使用 Microsoft 托管的并行作业。 作业将在 Microsoft 托管代理上运行。

如果希望 Azure Pipelines 协调生成和发布,但使用自己的计算机运行它们,请使用自托管并行作业。 对于自托管并行作业,首先要在计算机上部署自托管代理。 可在组织中注册任意数量的自托管代理。

并行作业的成本是多少?

默认情况下,我们在每个组织中为托管作业和自托管并行作业提供免费的服务层。 并行作业是在组织级别购买的,由组织中的所有项目共享。

对于 Microsoft 托管的并行作业,您可以在公共项目中获得最多 10 个免费作业,每个作业每次最多可以运行 360 分钟(6 小时)。 创建新的 Azure DevOps 组织时,默认情况下不会向你提供此免费授权。

对于专用项目,可以获得一个每次最多可以运行 60 分钟的免费作业。 创建新的 Azure DevOps 组织时,默认情况下可能不会始终获得此免费授权。

若要请求公共或专用项目的免费授权,请提交请求

注意

处理免费层请求可能需要几天时间。 在某些时间段内,处理时间可能更长。

公共项目的并行作业没有时间限制,专用项目每月有 30 小时的时间限制。

并行作业数 时间限制
公共项目 最多 10 个免费的 Microsoft 托管的并行作业,每次最多可以运行 360 分钟(6 小时) 每月没有总时间限制
私人项目 一个每次最多可以运行 60 分钟的免费作业 每月 1,800 分钟(30 小时)

当免费层不再足够时,可以为每个并行作业支付更多容量。 有关每个并行作业的定价成本,请参阅 Azure DevOps 定价页。 付费并行作业将移除每月时间限制,并允许你运行每个作业最多 360 分钟(6 小时)。

购买 Microsoft 托管的并行作业

新组织对 Microsoft 托管代理的最大并行作业数限制为 25 个。 联系支持人员 请求提高限额。 限额增加取决于您所在的组织区域的容量。

购买第一个 Microsoft 托管的并行作业时,组织中的并行作业数仍为 1。 若要同时运行两个作业,如果您目前使用的是免费套餐,则需要购买两个并行作业。 第一次购买仅移除第一个作业的时间限制。

提示

如果您的流水线超过最大任务超时时间,请尝试将流水线拆分为多个任务。 有关作业的详细信息,请参阅在管道中指定作业

我需要多少个并行作业?

当已排队的生成数和发布数超过了并行作业数时,生成和发布队列会越来越长。 如果发现队列延迟时间太长,可以根据需要购买更多的并行作业。 可以使用多种方法检查并行作业限制和作业历史记录。

使用池消耗情况报告查看作业历史记录

可以使用代理池的“分析”选项卡上提供的“池消耗量”报告来查看过去 30 天内与并行作业一起绘制的正在运行的作业和已排队作业的图表。 如果已排队作业出现积压,并且正在运行的作业处于并发限制,则可能需要购买更多并行作业。 有关详细信息,请参阅池消耗情况报告

Microsoft 托管代理池历史图表

直接检查并行作业参数设置

首先查看组织当前使用的并行作业数,找出所需的并行作业数:

  1. 浏览到“组织设置”>“管道”>“并行作业”。

    组织设置中的并行作业的位置。

    URL 示例:https://{Your_Organization}/_admin/_buildQueue?_a=resourceLimits

  2. 查看组织中可用的并行作业的最大数量。

  3. 选择“查看正在进行的作业”可显示正在使用可用并行作业或排队等待并行作业空闲的所有生成和发布。

估算成本

简单的经验法则是:预计组织中每四到五个用户就需要一个并行作业。

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

  • 如果有多个团队且每个团队都需要 CI,则每个团队可能都需要一个并行作业。
  • 如果 CI 触发器适用于多个分支,则可能需要为每个活跃分支创建并行作业。
  • 如果使用一个组织或服务器开发多个应用程序,则可能需要更多并行作业:一个是同时部署每个应用程序。

如何购买更多并行作业?

若要购买更多并行作业,请执行以下操作:

购买并行作业

在组织设置中购买更多并行作业:

  1. 登录组织 (https://dev.azure.com/{yourorganization})。

  2. 选择 齿轮图标组织设置

    打开组织设置

  3. 在“管道”下选择“并行作业”,然后选择“购买并行作业”,或者为 Microsoft 托管作业选择“更改”或为自托管作业选择“更改”。

    管理并行任务镜像

  4. 输入所需的数量,然后单击“保存”。

  5. 可能需要长达 30 分钟才能使用并行作业。

有关每个并行作业的定价成本,请参阅 Azure DevOps 定价页

如何更改组织的并行作业数量?

  1. 登录组织 (https://dev.azure.com/{yourorganization})。

  2. 选择 齿轮图标组织设置

    打开组织设置

  3. 在“管道”下选择“并行作业”,然后选择“购买并行作业”,或者为 Microsoft 托管作业选择“更改”或为自托管作业选择“更改”。

    管理并行作业的图片

  4. 输入 Microsoft 托管作业或自托管作业的更小或更大数量,然后选择“保存”。

  5. 新数量的并行作业可能最多需要 30 分钟才能处于活动状态。

如何在 DevOps Services 中使用并行作业?

假设某个组织只有一个由 Microsoft 托管的并行作业。 此作业允许该组织中的用户一次只运行一个作业。 在触发更多作业时,它们会排队等待,直至先前的作业完成。

如果使用发布或 YAML 管道,则运行仅在主动部署到一个阶段时使用并行作业。 当发布正在等待批准或手动干预时,它不使用并行作业。

使用发布管道运行服务器作业或部署到部署组时,不会占用任何并行作业。

并行作业的简单示例

  1. FabrikamFiber CI 生成 102(主分支)首先开始。
  2. FabrikamFiber 发布 11 的部署由 FabrikamFiber CI 生成 102 的完成触发。
  3. 触发 FabrikamFiber CI 生成 101(功能分支)。 该生成还无法开始,因为发布 11 的部署还在进行中。 因此,该生成一直处于排队状态。
  4. 发布 11 等待批准。 Fabrikam CI 生成 101 启动,因为等待批准的发布不使用并行作业。
  5. 版本 11 已获批准。 它仅在 Fabrikam CI 生成 101 完成后恢复。

常见问题解答

如何才能获取公共项目的免费层?

如果满足以下两个条件,您就有资格享受公共项目的免费层级限制:

  • 管道是 Azure Pipelines 公共项目的一部分。
  • 管道从 GitHub 或 Azure DevOps 组织中的同一个公共项目生成公共存储库。

有关如何申请授予免费并行作业的信息,请参阅并行作业(Microsoft 托管)的费用是多少?

是否可以将并行作业分配给特定项目或代理池?

目前,无法将并行作业容量分隔或单独分配到特定的项目或代理池。 例如:

  • 在组织中购买两个并行作业。
  • 在第一个项目中启动两个运行,这两个并行作业都会被使用。
  • 在第二个项目启动运行。 直到第一个项目中的其中一个运行完成后,该运行才会启动。

在可以使用 Azure Pipelines 的人员方面,有没有限制?

使用 Azure Pipelines 时,你可以根据需要拥有任意数量的用户。 使用 Azure Pipelines 并不按用户收费。 拥有基本和干系人访问权限的用户可以根据需要创建任意数量的生成和发布。

就我可以创建的生成和发布管道的数量而言,有任何限制吗?

不是。 你可以免费创建数百甚至数千个管道。 可以注册任意数量的自托管代理,且无需付费。

按分钟支付托管代理费用的选项呢?

我们的部分早期客户仍在使用托管代理的按分钟计费计划。 在此计划中,在免费层后的前 20 小时支付 0.05 美元/分钟,在 20 小时后支付 0.01 美元/分钟。 由于此计划中存在以下限制,可能需要考虑迁移到并行作业模型:

  • 使用按分钟计划时,一次只能运行一个作业。
  • 在一个月内运行超过 14 小时的付费构建时,每分钟计费方案可能比并行作业模型成本效益更低。

我在我的组织中使用 XAML 生成控制器。 如何对它们收费?

可以为组织中的每个自托管并行作业注册一个 XAML 生成控制器。 你的组织至少获得一个免费的自承载并行作业,因此你可以注册一个 XAML 生成控制器,无需额外付费。 对于每个额外的 XAML 生成控制器,需要额外的自托管并行作业。