gitlab-runner运行权限修复(重要)

在安装完成gitlab-runner后,发现如要直接部署到gitlabgitlab-runner无法正常工作,使用diary.sh发布博客时还需要设置一段代码检测gitlab-runner是否以普通帐号运行,如果不运行则使用 gitlab-runner run 启动,这个操作不规范,虽然用了一段时间,但是今天还是决定修复这个问题。造成这个问题的原因是,在安装gitlab-runner时其默认建立了一个名为gitlab-runner的帐号,但是这个帐号又不在root组中,这个权限问题导致了部署博客时gitlab-runner无法正常运行。

解决方法

  • gitlab-runner加入开机启动:
    1
    2
    sudo systemctl enable gitlab-runner.service
    sudo systemctl start gitlab-runner.service
  • 查看gitlab-runner进程:ps aux|grep gitlab-runner 可以查看到gitlab-runner的工作目录和默认用户等一系列相关信息。
  • 卸载gitlab-runner默认用户:sudo gitlab-runner uninstall
  • 建立gitlab-runner的工作目录:mkdir /home/.gitlab-runner
  • 将用户设置为rootgitlab-runner install --working-directory /home/.gitlab-runner --user root
  • 重启服务:systemctl restart gitlab-runner.service
  • 再次查看gitlab-runner进程:ps aux|grep gitlab-runner

注意:--working-directory 也可以在设置在任何您喜欢的位置,为了避免造成家目录的混乱,此处我设置在了/home/.gitlab-runner.

参考文章