CI/CD 分钟数配额

共享 runners 与极狐GitLab 实例中的每个项目和群组共享。 当作业在共享 runner 上运行时,使用 CI/CD 分钟数。

您可以设置每月使用的 CI/CD 分钟数限制。

  • 在 SaaS 上,CI/CD 分钟数配额是为每个命名空间设置的,由您的许可证级别决定。
  • 在自助管理实例上,每个命名空间的 CI/CD 分钟配额由管理员设置。

为所有命名空间设置 CI/CD 分钟配额

默认情况下,极狐GitLab 实例没有 CI/CD 分钟数配额。 配额的默认值为 0,即授予无限的 CI/CD 分钟数。 但是,您可以更改此默认值。

先决条件:

  • 您必须是管理员。

要更改适用于所有命名空间的默认配额:

  1. 在顶部栏上,选择 菜单 > 管理员
  2. 在左侧边栏,选择 设置 > CI/CD
  3. 展开 持续集成和部署
  4. CI/CD 分钟数配额 框中,输入 CI/CD 分钟的最大数量。
  5. 选择 保存修改

如果已为特定命名空间定义了配额,则此值不会更改该配额。

为特定命名空间设置 CI/CD 分钟配额

您可以覆盖全局值并为特定命名空间设置 CI/CD 分钟数配额。

先决条件:

  • 您必须是管理员。

为命名空间设置 CI/CD 分钟数配额:

  1. 在顶部栏上,选择 菜单 > 管理员
  2. 在左侧边栏上,选择 概览 > 群组
  3. 对于您要更新的群组,选择 编辑
  4. CI/CD 分钟数配额 框中,输入 CI/CD 分钟的最大数量。
  5. 选择 保存修改
note您可以仅为顶级组或用户命名空间设置 CI/CD 分钟数配额。 如果您为子组设置配额,则不会使用它。

查看群组使用的 CI/CD 分钟数

您可以查看群组使用的 CI/CD 分钟数。

先决条件:

  • 您必须是群组的所有者。

查看用于您的组的 CI/CD 分钟数:

  1. 在顶部栏上,选择 菜单 > 群组 并找到您的群组,此群组不能是子组。
  2. 在左侧边栏中,选择 设置 > 使用量配额
  3. 选择 流水线 选项卡。

Group CI/CD minutes quota

查看个人命名空间使用的 CI/CD 分钟数

您可以查看个人命名空间使用的 CI/CD 分钟数:

  1. 在顶部栏的右上角,选择您的头像。
  2. 选择 编辑个人资料
  3. 在左侧边栏中,选择 使用量配额

购买额外的 CI/CD 分钟数

如果您使用的是 SaaS 版,则可以购买额外的 CI/CD 分钟数包。 额外的 CI/CD 分钟数:

  • 仅在订阅中包含的每月配额用完后使用。
  • 如果在月底有任何剩余,结转到下个月。
  • 不会过期。

如果您使用的 CI/CD 分钟数超过每月配额,则当您购买更多时,CI/CD 分钟数将从您的配额中扣除。例如,使用 SaaS 专业版许可证时:

  • 您每月有 10000 分钟。
  • 您购买了额外的 5000 分钟。
  • 您的总限额为 15000 分钟。

如果您在当月使用 13000 分钟,那么下个月您的额外分钟数将变为 2000。如果您在一个月内使用 9,000 分钟,您的额外分钟数保持不变。

您可以在 定价页面 上找到额外 CI/CD 分钟数的定价。

如何计算 CI/CD 分钟数

单个作业的 CI/CD 分钟数根据以下公式计算:

  • 作业运行的持续时间。
  • 作业运行的项目的可见性。

系统使用此公式来计算作业消耗的 CI/CD 分钟数:

Job duration * Cost factor
  • Job duration:作业在共享 runner 上运行所花费的时间(以秒为单位),不包括处于 createdpending 状态的时间。
  • Cost factor:基于项目可见性的数字。

该数字将转换为分钟,并添加到作业的顶级命名空间的整体配额中。

例如:

  • 用户 zhanggitlab-cn 命名空间下运行流水线。
  • 流水线中每个作业消耗的 CI/CD 分钟数被添加到 gitlab-cn 命名空间的总体消耗中,而不是 zhang 命名空间。
  • 如果为 zhang 的个人项目之一运行流水线,则 CI/CD 分钟数将添加到 zhang 命名空间的总体消耗中。

一个流水线使用的 CI/CD 分钟数是流水线中运行的所有作业使用的总 CI/CD 分钟数。如果多个作业同时运行,则流水线的 CI/CD 分钟使用量可能高于流水线的持续时间。

每月重置 CI/CD 分钟数

在每个日历月的第一天,对于所有使用共享 runner 的命名空间,CI/CD 分钟数的累积使用量将重置为 0

保留上个月的使用数据,显示一段时间内的消耗历史视图。

当您超过配额时会发生什么

当本月使用 CI/CD 分钟书配额时,极狐GitLab 将停止处理新作业。

  • 任何应该由共享 runner 选择的非运行作业都会被自动丢弃。
  • 任何正在重试的作业都会自动放弃。
  • 如果整个命名空间使用量在宽限期内超出配额,则任何正在运行的作业都可以随时删除。

运行作业的宽限期为 1,000 CI/CD 分钟。

特定 runner 上的作业不受 CI/CD 分钟配额的影响。

SaaS 使用量通知

在 SaaS 版上,以下情况会向命名空间所有者发送电子邮件通知:

  • 可用 CI/CD 分钟数低于配额的 30%。
  • 可用 CI/CD 分钟数低于配额的 5%。
  • 所有 CI/CD 分钟数已用完。

减少 CI/CD 分钟数的消耗

如果您的项目消耗过多的 CI/CD 分钟数,您可以使用一些策略来减少 CI/CD 分钟数的使用:

  • 如果您使用项目镜像,请确保禁用用于镜像更新的流水线
  • 减少计划流水线的频率。
  • 不需要时跳过流水线。
  • 使用可中断的作业,如果新流水线启动,这些作业可以自动取消。
  • 如果作业不必在每个流水线中运行,请使用 rules 使其仅在需要时运行。
  • 对某些作业使用私有 runner。
  • 如果您正在从一个派生项目工作并向父项目提交合并请求,您可以要求维护者在父项目中运行流水线。

如果您管理一个开源项目,这些改进还可以减少贡献者派生项目的 CI/CD 分钟消耗,从而实现更多贡献。

有关更多详细信息,请参阅我们的流水线效率指南