Gitlab共享每个项目的运行程序集并发性 [英] Gitlab shared runner set concurrence for each project

查看:86
本文介绍了Gitlab共享每个项目的运行程序集并发性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

A shared runner is used by dozens of our project. I set concurrent = 5 in config.toml, so my runner can do 5 job concurrently for all project.

例如,以下情形:A项目3个作业,B项目2个作业,C项目0个作业(导致C项目)应等待A或B项目至少完成1个作业,直到开始第一个作业

For example, the following scenario:3 job for A project, 2 job for B project, 0 job for C project which causes C project should wait for at least 1 job of A or B project being finished until it starts first job.

我想设置为所有项目 concurrent = 5 "和每个项目 concurrent = 2 ".有什么办法可以解决吗?

I want to set like "all project concurrent = 5" and "each project concurrent = 2". Is there any way to deal with it?

推荐答案

您的问题有一个未解决的问题此处.

There is an open issue for your problem here.

用户提出的选项 之一是向多个跑步者注册您的工作人员,在全局跑步者配置中使用 concurrent ,并为每个跑步者使用 limit 参数.然后,您可以在每个项目Yaml中设置标记以在运行程序上执行,该运行程序仅限于2个并行作业.

One of the options proposed by users is to register your worker with multiple runners, use concurrent in global runner configuration and limit parameter per runner. Then you can set tag in each project yaml to execute on runner which is limited to 2 parallel jobs.

跑步者配置看起来像():

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

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

这篇关于Gitlab共享每个项目的运行程序集并发性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆