GitLab Runner - 如何一次只允许一个管道运行

Posted

技术标签:

【中文标题】GitLab Runner - 如何一次只允许一个管道运行【英文标题】:GitLab Runner - How to allow only one Pipeline run at a time 【发布时间】:2020-07-12 21:12:26 【问题描述】:

我是 GitLab 的新手,遇到一个问题,如果我在同一个 gitlab-runner 上同时触发两个管道,它们都会并行运行并导致失败。我想要的是一次将运行限制为一个管道,而其他管道则在队列中。

我在 config.toml 中设置了concurrent = 1 并重新启动了运行器,但它没有帮助。我的最终目标是防止在 runner 上运行多管道。

谢谢。

【问题讨论】:

这能回答你的问题吗? How to force GitLab to run a complete pipeline before starting a new one? 【参考方案1】:

将配置的the runners section 中的limit 关键字设置为1。

limit

限制此令牌可以同时处理多少个作业。 0(默认)只是意味着不限制

然后重启你的跑步者

【讨论】:

如文档所述,这限制了作业的并发性,而不是管道。 Runner 仍然可以在执行第一个管道的所有作业之前启动第二个管道的第一个作业。再深入一点,我想你总会遇到这个问题,这已经被推迟了很长时间:gitlab.com/gitlab-org/gitlab/-/issues/15536 gitlab.com 上的实际、最新和相关问题:gitlab.com/gitlab-org/gitlab/-/issues/202186

以上是关于GitLab Runner - 如何一次只允许一个管道运行的主要内容,如果未能解决你的问题,请参考以下文章

kubernetes(k8s)Gitlab CI Runner 的安装

GitLab-CI Multi Runner php 作曲家缓存

一次只允许一个客户

如何备份和恢复 gitlab runner?

如何在 gitlab-runner 中发布端口?

一次只允许一个数据切换用于多个选项