GitLab Runner 中用户模式和系统模式的区别 CI/CD

difference between user-mode and system-mode in GitLab Runner CI/CD

在系统模式下配置 GitLab runner 时,服务没有启动,但在用户模式下服务运行良好。

在 GitLab runner 文档中他们没有介绍目的 https://docs.gitlab.com/runner/commands/#super-user-permission

我理解的唯一区别是路径:

用户模式=/Users/ayufan/.gitlab-runner/config.toml

系统模式=/etc/gitlab-runner/config.toml

任何人都可以解释一下,系统模式如何影响结果。

更新: 我没有从 gitlab 论坛得到答案,但我在这里阅读了一些笔记 https://medium.com/static-object/how-to-set-up-gitlab-ci-for-ios-in-a-few-relatively-simple-steps-56a0d88d0272 ,我了解到这是他们大多数人面临的问题。

用户模式与系统模式

user mode中,您注册的运行用户将只对当前用户有效。如果您从不同的用户登录,运行 用户将无法用于您的管道,如果您尝试 运行 您的管道,它将是 stuck,因为没有可用的 [=31] =]上班的人。

system mode 中,您注册的 运行 用户将对 运行 可用,并且只要机器开启就可以工作,无论您从哪个用户登录。

在系统模式下工作

要在 system mode 中注册 运行ner,您需要做的就是在 register 命令前加上 sudo 前缀,如下所示:

sudo gitlab-runner register

验证哪些 运行 人正在 system mode 中工作:

sudo gitlab-runner verify