- 为所有命名空间设置 CI/CD 分钟配额
- 为特定命名空间设置 CI/CD 分钟配额
- 查看群组使用的 CI/CD 分钟数
- 查看个人命名空间使用的 CI/CD 分钟数
- 购买额外的 CI/CD 分钟数
- 如何计算 CI/CD 分钟数
- 当您超过配额时会发生什么
- 减少 CI/CD 分钟数的消耗
CI/CD 分钟数配额
共享 runners 与极狐GitLab 实例中的每个项目和群组共享。 当作业在共享 runner 上运行时,使用 CI/CD 分钟数。
您可以设置每月使用的 CI/CD 分钟数限制。
- 在 SaaS 上,CI/CD 分钟数配额是为每个命名空间设置的,由您的许可证级别决定。
- 在自助管理实例上,每个命名空间的 CI/CD 分钟配额由管理员设置。
为所有命名空间设置 CI/CD 分钟配额
默认情况下,极狐GitLab 实例没有 CI/CD 分钟数配额。
配额的默认值为 0
,即授予无限的 CI/CD 分钟数。
但是,您可以更改此默认值。
先决条件:
- 您必须是管理员。
要更改适用于所有命名空间的默认配额:
- 在顶部栏上,选择 菜单 > 管理员。
- 在左侧边栏,选择 设置 > CI/CD。
- 展开 持续集成和部署。
- 在 CI/CD 分钟数配额 框中,输入 CI/CD 分钟的最大数量。
- 选择 保存修改。
如果已为特定命名空间定义了配额,则此值不会更改该配额。
为特定命名空间设置 CI/CD 分钟配额
您可以覆盖全局值并为特定命名空间设置 CI/CD 分钟数配额。
先决条件:
- 您必须是管理员。
为命名空间设置 CI/CD 分钟数配额:
- 在顶部栏上,选择 菜单 > 管理员。
- 在左侧边栏上,选择 概览 > 群组。
- 对于您要更新的群组,选择 编辑。
- 在 CI/CD 分钟数配额 框中,输入 CI/CD 分钟的最大数量。
- 选择 保存修改。
查看群组使用的 CI/CD 分钟数
您可以查看群组使用的 CI/CD 分钟数。
先决条件:
- 您必须是群组的所有者。
查看用于您的组的 CI/CD 分钟数:
- 在顶部栏上,选择 菜单 > 群组 并找到您的群组,此群组不能是子组。
- 在左侧边栏中,选择 设置 > 使用量配额。
- 选择 流水线 选项卡。
查看个人命名空间使用的 CI/CD 分钟数
您可以查看个人命名空间使用的 CI/CD 分钟数:
- 在顶部栏的右上角,选择您的头像。
- 选择 编辑个人资料。
- 在左侧边栏中,选择 使用量配额。
购买额外的 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 上运行所花费的时间(以秒为单位),不包括处于
created
或pending
状态的时间。 - Cost factor:基于项目可见性的数字。
该数字将转换为分钟,并添加到作业的顶级命名空间的整体配额中。
例如:
- 用户
zhang
在gitlab-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 分钟消耗,从而实现更多贡献。
有关更多详细信息,请参阅我们的流水线效率指南。