0%

Gitlab日常维护指南

Gitlab日常维护指南

常用维护命令

查看各服务的状态

运行sudo gitlab-ctl status,将显示出各个服务的状态:

1
2
3
4
5
6
7
8
root@ubuntu:/home/abai# gitlab-ctl status
run: gitlab-workhorse: (pid 695) 85s; run: log: (pid 694) 85s
run: logrotate: (pid 691) 85s; run: log: (pid 689) 85s
run: nginx: (pid 692) 85s; run: log: (pid 690) 85s
run: postgresql: (pid 698) 85s; run: log: (pid 697) 85s
run: redis: (pid 688) 85s; run: log: (pid 687) 85s
run: sidekiq: (pid 686) 85s; run: log: (pid 685) 85s
run: unicorn: (pid 696) 85s; run: log: (pid 693) 85s

启动停止服务

omnibus-gitlab安装配置完成后,服务器会生成一个Runit的服务目录, (runsvdir)通过/etc/inittab/etc/init/gitlab-runsvdir.conf 配置文件引导运行GitLab服务。我们不建议用runsvdir直接控制服务的运行状态, Gitlab提供了gitlab-ctl这个前端命令代替runsvdir

启动Gitlab所以组件

sudo gitlab-ctl start

停止Gitlab所以组件

sudo gitlab-ctl stop

重启Gitlab所以组件

sudo gitlab-ctl restart

注意 单核的服务器重启Unicorn和Sidekiq会多需要点时间。 在Unicorn重启完成之前GitLab会报502错误, 如一直是502错误就需要查看logs来定位错误原因了。

gitlab-ctl也可以单独对Gitlab的组件进行重启、停止和启动的操作:

sudo gitlab-ctl restart sidekiq

Unicorn 支持zero-downtime(零停机)重载,可以用如下命令触发:

sudo gitlab-ctl hup unicorn #使unicorn进程HUP,即挂起unicorn

唤醒Rake tasks

可以用gitlab-rake唤醒Gitlab Rake task,如:

sudo gitlab-rake gitlab:check #运行gitlab体检任务

如果你当前是’git’用户,可以不用’sudo’。

与传统方式安装的Gitlab相反, Omnibus唤醒rake task不需要切换用户或使用RAILS_ENV环境变量, 可以放心的用gitlab-rake这个封装脚本。

启动Rails控制台会话

如需要访问GitLab的Rails控制台,只需要如下所示的一个命令即可。 但是一定要谨慎,在该控制台下很容易无意中修改、污染, 甚至销毁数据。

1
2
# 启动GitLab Rails控制台
sudo gitlab-rails console

在控制台修改的内容,需要运行gitlab-ctl reconfigure后才会生效。

有关数据库、容器注册垃圾回收相关内容目前还没用到。可以直接查看相关文档。

https://doc.gitlab.cc/omnibus/maintenance/README.html#maintenance-commands