我有一个在 Kubernetes 上运行的
Gitlab Runner
。我看到有一些选项可以限制运行程序级别的并发作业,但如果我们可以在 .gitlab-ci.yml
级别或项目级别执行此操作,那就更好了,但我们找不到它的设置。
我看到了这个禁止一个 GitLab 项目的 CI 管道同时运行?但我也不确定如何在部署在 Kubernetes 上的运行器上执行此操作。
如果我这样做,它不会阻止运行者创建 Pod,这仍然违背了限制并发作业和控制要分配多少资源的目的。
我还查找了
resource_group
,但它将作业限制为 1
,但我们希望将作业限制为 2
或 3
来同时运行。
是的,现在有一种方法得到了 GitLab 14.10(2022 年 4 月)官方支持:
在实例级别设置 CI/CD 限制
为了控制资源使用以支持实例稳定性,具有高 CI/CD 使用率的实例的 GitLab 管理员可能希望为特定 CI/CD 事件添加限制。
这可以设置:
- 单个管道中的最大作业数,
- 活动管道中的最大并发作业数,或
- 每个项目的最大预定管道数量。
- ...
GitLab 实例管理员现在可以直接在实例的管理区域面板中设置这些限制(以及其他限制)。