调试 Debian 上的 GitLab 通常需要从日志、服务状态、配置、系统资源几个层面入手。下面给你一套比较系统的方法,适合自建(Omnibus)GitLab。
sudo gitlab-ctl status
正常应看到 run 状态的服务,例如:
nginxunicorn / pumasidekiqpostgresqlredisgitaly如果有 down,再单独看日志。
sudo gitlab-ctl tail
实时查看所有组件日志(Ctrl+C 退出)。
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail puma
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctl tail gitaly
journalctl -u gitlab-runsvdir
sudo gitlab-rake gitlab:env:info
sudo gitlab-ctl reconfigure
如果有报错,会直接显示问题位置(最常见是 /etc/gitlab/gitlab.rb)。
external_url 'http://gitlab.example.com'
可能原因:
检查:
free -h
sudo gitlab-ctl tail puma
sudo gitlab-ctl tail gitaly
sudo gitlab-rake gitlab:incoming_email:check
sudo gitlab-rake gitlab:test_email[user@example.com]
sudo gitlab-psql
或:
sudo gitlab-ctl tail postgresql
sudo gitlab-rails console
例如:
User.find_by(username: 'root')
Project.last
top
htop
df -h
du -sh /var/opt/gitlab
GitLab 对内存要求较高(建议 ≥ 4GB)。
在 /etc/gitlab/gitlab.rb:
gitaly['log_level'] = 'debug'
puma['log_level'] = 'debug'
然后:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check
如果你能告诉我:
我可以给你更针对性的调试方案。