极狐 GitLab

计算分钟

Tier: 基础版,专业版,旗舰版

Offering: JihuLab.com,私有化部署

版本历史
  • 重命名 “CI/CD minutes” 为 “计算配额” 或 “计算分钟” 在极狐GitLab 16.1。

项目运行 CI/CD 作业对实例 runner 的使用以计算分钟来衡量。

对于某些安装类型,您的 命名空间 具有 计算配额,它限制了您可以使用的计算分钟。

计算配额可应用于所有 管理员管理的实例 runner

  • 所有 JihuLab.com 或 私有化部署 上的实例 runner

计算配额默认处于禁用状态,但可以针对顶级群组和用户命名空间启用。 在 JihuLab.com 上,配额默认启用以限制基础版命名空间的使用。如果购买了付费订阅,则限制会增加。

实例 runner#

对于 JihuLab.com 和 私有化部署 的实例 runner:

  • 您可以在 实例 runner 用量仪表板 中查看用量。
  • 启用配额时:
    • 在接近配额限制时您会收到通知。
    • 超出配额时会应用执行措施。

对于 JihuLab.com:

计算分钟用量#

计算用量计算#

每个作业的计算分钟用量使用以下公式计算:

plaintext
Job duration / 60 * Cost factor
  • 作业持续时间:作业运行的时间(秒),不包括处于 createdpending 状态的时间。
  • 成本因子:基于 runner 类型项目类型 的数字。

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

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

  • gitlab-org 命名空间中的项目中,流水线中每个作业使用的计算分钟将添加到 gitlab-org 命名空间的总体用量中,而不是 alice 命名空间。
  • alice 命名空间的个人项目中,计算分钟将添加到其命名空间的总体用量中。

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

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

用量按月跟踪。在每个月的第一天,所有命名空间的当月用量为 0

成本因子#

计算分钟的消耗速率根据 runner 类型和项目设置而有所不同。

JihuLab.com 的托管 runner 的成本因子#

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

Runner 类型机器大小成本因子
Linux x86-64(默认)小型1
Linux x86-64中型2
Linux x86-64大型3
Linux x86-64超大型6
Linux x86-642x 超大型12
Linux x86-64 + GPU 启用中型,GPU 标准7
Linux Arm64小型1
Linux Arm64中型2
Linux Arm64大型3
macOS M1中型6状态:测试版)
macOS M2 Pro大型12状态:测试版)
Windows中型1状态:测试版)

这些成本因子适用于 JihuLab.com 的托管 runner。

根据项目类型,适用某些折扣:

项目类型成本因子使用的计算分钟
标准项目基于 runner 类型每 (作业持续时间 / 60 × 成本因子) 使用 1 分钟
极狐GitLab 开源项目 中的公共项目0.5每 2 分钟作业时间使用 1 分钟
极狐GitLab 开源项目 的公共分支0.008每 125 分钟作业时间使用 1 分钟
社区对 极狐GitLab 项目的贡献动态折扣请参阅下一部分

社区对 极狐GitLab 项目的贡献#

社区贡献者在为极狐GitLab 维护的开源项目做贡献时,最多可使用 300,000 分钟的实例 runner 时间。仅在对极狐GitLab 产品中的项目进行贡献时,才有可能达到最大 300,000 分钟。

实例 runner 可用的总分钟数会减去其他项目流水线使用的计算分钟。300,000 分钟适用于所有 JihuLab.com 层级。

成本因子计算方法为:

月计算配额 / 300,000 作业持续时间分钟 = 成本因子

例如,在专业版层级中月计算配额为 10,000:

  • 10,000 / 300,000 = 0.03333333333 成本因子。

对于此降低的成本因子:

  • 合并请求源项目必须是极狐GitLab 维护的项目的一个分支,例如 gitlab-com/www-gitlab-comgitlab-org/gitlab
  • 合并请求目标项目必须是分支的父项目。
  • 流水线必须是合并请求、合并结果或合并火车流水线。

减少计算分钟用量#

如果您的项目消耗的计算分钟过多,请尝试以下策略来减少用量:

如果您管理一个开源项目,这些改进还可以减少贡献者分支项目的计算分钟用量,从而促成更多贡献。

更多详情,请参阅 流水线效率指南