每个项目的Gitlab shared runner set concurrence

Gitlab shared runner set concurrence for each project

一个共享的运行器被我们的几十个项目使用。我在 config.toml 中设置了 concurrent = 5,所以我的跑步者可以同时为所有项目做 5 个工作。

例如以下场景:A项目3个工作,B项目2个工作,C项目0个工作导致C项目至少要等待A或B项目的1个工作完成后才能启动第一份工作。

我想设置为 "all project concurrent = 5" 和 "each project concurrent = 2"。有什么办法可以解决吗?

您的问题有一个未解决的问题 here

选项之一 proposed by users 是将您的工作器注册到多个运行器,在全局运行器配置中使用 concurrent,每个运行器使用 limit 参数。然后你可以在每个项目 yaml 中设置标签在运行器上执行,限制为 2 个并行作业。

Runners 配置看起来像 ():

concurrent = 5
[[runners]]
  limit = 2
  name = "project-a-runner"
  ...

[[runners]]
  limit = 2
  name = "project-b-runner"
  ...