{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: JihuLab.com, 私有化部署

{{< /details >}}

{{< history >}}

  • 在极狐GitLab 16.1 中,从 “CI/CD 分钟数” 重命名为 “计算配额” 或 “计算分钟数”。

{{< /history >}}

项目在 实例 runner 上运行作业的时间在 JihuLab.com 是有限制的。这个限制通过计算配额进行跟踪。项目 runner 不受计算配额的影响。

默认情况下,单个作业的一分钟执行时间使用一个计算分钟。流水线的总计算使用量通过 所有作业持续时间的总和 进行计算。作业可以并发运行,因此总使用量可能高于流水线的端到端持续时间。

在 JihuLab.com:

  1. 所有项目都启用了计算配额,但某些项目 以较慢的速度消费计算分钟
  2. 极狐GitLab.com 命名空间 的每月基础计算配额由其 许可证级别 决定。
  3. 如果您需要超过每月配额的计算量,可以 购买额外的计算分钟

计算配额 在极狐GitLab私有化部署上默认禁用

查看计算使用量

您可以查看群组或个人命名空间的计算使用情况,以了解计算使用趋势以及剩余的计算分钟数。

在某些情况下,配额限制被以下标签之一替代:

  • 无限制: 对于拥有无限计算配额的命名空间。
  • 不支持: 对于未启用活动实例 runner 的命名空间。

查看群组的使用配额报告

{{< history >}}

  • 显示每个项目的实例 runner 持续时间在极狐GitLab 15.0 中 引入。

{{< /history >}}

条件:

  • 您必须拥有群组的 Owner 角色。

查看群组的计算使用量:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。群组不能是子群组。
  2. 选择 设置 > 使用配额
  3. 选择 流水线 标签。

项目列表仅显示当前月份具有计算使用或实例 runner 使用的项目。列表包括命名空间及其子群组中的所有项目,并按计算使用量降序排序。

查看个人命名空间的使用配额报告

{{< history >}}

  • 显示实例 runner 持续时间在极狐GitLab 15.0 中引入。

{{< /history >}}

您可以查看个人命名空间的计算使用量:

  1. 在左侧边栏中,选择您的头像。
  2. 选择 Edit profile
  3. 在左侧边栏中,选择 Usage Quotas

项目列表仅显示 个人项目 在当前月份的计算使用或实例 runner 使用。

超出配额

在 JihuLab.com 上,当剩余计算分钟数为以下情况时,会显示应用内横幅并发送电子邮件通知给命名空间所有者:

  1. 配额的百分比少于 25%。
  2. 配额的百分比少于 5%。
  3. 已完全使用(剩余分钟为零)。

当当前月份的计算配额被使用时,实例 runner 停止处理新作业。在已经开始的流水线中:

  1. 必须由实例 runner 处理的任何待处理作业(尚未开始)或重试作业将被丢弃。
  2. 在实例 runner 上运行的作业可以继续运行,直到整个命名空间使用超出配额 1,000 个计算分钟。经过 1,000 个计算分钟宽限期后,任何剩余的运行作业也将被丢弃。

如果您使用 JihuLab.com,您可以 购买额外的计算分钟包 以继续在实例 runner 上运行 CI/CD 流水线。

项目 runner 不受计算配额的影响并继续处理作业。

计算使用量计算

极狐GitLab 使用以下公式计算作业的计算使用量:

Job duration * Cost factor
  • Job duration: 作业在实例 runner 上运行的时间(以秒为单位),不包括在 createdpending 状态中花费的时间。
  • Cost factor: 基于项目类型的一个数字。

该值被转换为计算分钟并添加到作业顶级命名空间的已用单位计数中。

例如,如果用户 alice 运行一个流水线:

  1. gitlab-org 命名空间中的项目中,流水线中每个作业使用的计算分钟将添加到 gitlab-org 命名空间的总体消耗中,而不是 alice 命名空间。
  2. 在他们 alice 命名空间中的个人项目中,计算分钟将添加到他们命名空间的总体消耗中。

一个流水线使用的计算量是所有在流水线中运行的作业使用的总计算分钟。作业可以并发运行,因此总计算使用量可能高于流水线的端到端持续时间。

触发作业 不在 runner 上执行,因此即使使用 strategy:depend 等待 下游流水线 状态,它们也不消耗计算分钟。触发的下游流水线消耗计算分钟与其他流水线一样。

成本因素

在 JihuLab.com 上运行实例 runner 的作业的默认成本因素是:

  1. 1 对于内部、公共和私有项目。每分钟的作业执行时间使用 1 个计算分钟。
  2. 0.5 对于 极狐GitLab开源项目计划 中的公共项目。每 2 分钟的作业执行时间使用 1 个计算分钟。
  3. 0.008 对于 极狐GitLab开源项目计划 中项目的公共分叉。每 125 分钟的作业执行时间使用 1 个计算分钟。
  4. 社区贡献极狐GitLab项目 的动态折扣。
  5. 如果使用 不同类型的实例 runner,则增加。

极狐GitLab私有化部署上的成本因素 是不同的

极狐GitLab托管 runner 的成本因素

极狐GitLab托管 runner 根据 runner 类型(Linux、Windows、macOS)和虚拟机配置具有不同的成本因素:

极狐GitLab托管 runner 类型 机器大小 成本因素
Linux x86-64 (默认) small 1
Linux x86-64 medium 2
Linux x86-64 large 3
Linux x86-64 xlarge 6
Linux x86-64 2xlarge 12
Linux x86-64 + GPU-enabled medium, GPU standard 7
Linux Arm64 small 1
Linux Arm64 medium 2
Linux Arm64 large 3
macOS M1 medium 6 (状态: Beta)
macOS M2 Pro large 12 (状态: Beta)
Windows medium 1 (状态: Beta)

每月计算使用量重置

在每个月的第一天,所有命名空间的累积计算使用量重置为 0

例如,如果您的每月配额为 10,000 计算分钟:

  1. 在 4 月 1 日,您有 10,000 个计算分钟可用。
  2. 在 4 月期间,您使用了 10,000 个计算分钟中的 6,000 个。
  3. 在 5 月 1 日,累积计算使用量重置为 0,您在 5 月有 10,000 个计算分钟可用。

保存上个月的使用数据,以显示随时间的历史消费视图。

减少计算配额使用

如果您的项目消费了过多的计算配额,您可以使用一些策略来减少使用:

  1. 如果您使用项目镜像,请确保 镜像更新流水线 被禁用。
  2. 减少 计划流水线 的频率。
  3. 在不需要时 跳过流水线
  4. 使用 可中断 的作业,如果启动了新的流水线,它们可以自动取消。
  5. 如果作业不必在每个流水线中运行,请使用 rules 使其仅在需要时运行。
  6. 对某些作业使用 私有 runner
  7. 如果您从分叉工作并向父项目提交合并请求,您可以请求维护者在 父项目中运行流水线

如果您管理一个开源项目,这些改进也可以减少贡献者分叉项目的计算配额消费,从而促进更多贡献。

请参阅 流水线效率指南 以获取更多详细信息。