如何运行多个gitlab-ci-runners?

时间:2015-03-09 15:15:09

标签: gitlab-ci gitlab-ci-runner

嗯,非常基本的问题,但我没找到(好的)文档;我们走了:

  • 我可以在同一台服务器上设置/运行多个跑步者吗?
  • 跑步者是什么意思?这是(综合)安装或我开始的过程,例如/opt/gitlab-runner/bin/runner
  • 关于/opt/gitlab-runner/bin/runner:开始几个这样的过程是否有意义? (它们不会单独显示在gitlab-ci webview中的“Runners”选项卡下)

感谢。

4 个答案:

答案 0 :(得分:4)

对于任何试图在Windows上运行多个gitlab-runner的人:

  • 下载gitlabrunner.exe并将其复制到两个不同的位置。
  • 将它们注册在各自的文件夹中。
  • 安装它们并为-n标志提供不同的名称,例如:
gitlab-runner-windows-amd64.exe install -n dockerbuilder
  • 使用带有-n标志的相同名称启动它们。

答案 1 :(得分:3)

  1. 是的,你可以设置多个跑步者。有关详细信息,请参阅https://docs.gitlab.com/runner/
  2. 您通常在主gitlab实例的不同框中设置跑步者。至少这就是我所做的。 Omnibus GITLAB指的是维护存储库并可通过Web UI访问的主系统。运行者是孤立的进程(工作者),等待新的提交被推送,然后执行构建。
  3. 一个好的做法是设置多个专用于特定技术的跑步者。例如。 JAVA,NodeJS,Python,Ruby或PHP构建的专用运行器。如果UI中没有显示跑步者,则他们未在您的实例中正确注册。请参阅#1
  4. 中的文档

答案 2 :(得分:0)

我进行了设置,在其中我需要一名跑步者来完成两项不同的工作。定义并发时,它将为给定计算机中的所有运行程序设置并发性。

如果您有两个运行程序(具有不同的标签或设置)和 concurrent = 2 ,则意味着它们都可以并行运行2个作业。如果 concurrent = 1 ,则一次只有一名跑步者可以从事一项工作。

在此处找到解决方案:https://forum.gitlab.com/t/run-runners-in-parallel-on-the-same-server/9213/2 concurrent = 2 ,然后为每个跑步者添加 limit = 1 ,以在服务器上最多容纳2个工作,并为每个跑步者限制一个工作。

答案 3 :(得分:0)

您可以运行多个实例,但是从gitlab 12.2开始,有一些重要的警告: https://docs.gitlab.com/runner/faq/README.html#why-cant-i-run-more-than-one-instance-of-runner

  

为什么我不能运行一个以上的Runner实例?

     

您可以但不能共享相同的config.toml文件。

     

使用同一配置文件运行Runner的多个实例可能会导致意外的行为和难以调试的行为。在GitLab Runner 12.2中,仅Runner的单个实例可以一次使用特定的config.toml文件