在 Debian 下维护 GitLab(通常指 Omnibus 版 GitLab)主要包括:升级、备份、日志、服务管理、配置、迁移、安全与排错。下面按常见维护场景系统说明。
先确认是 Omnibus 安装(最常见):
dpkg -l | grep gitlab
或:
which gitlab-ctl
✅ 有 gitlab-ctl → Omnibus
❌ 无 → 可能是 Docker / 源码 / Kubernetes
sudo gitlab-ctl status
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
重启单个组件:
sudo gitlab-ctl restart nginx
sudo gitlab-ctl restart postgresql
sudo gitlab-ctl tail
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail postgresql
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctl reconfigure
⚠️ 修改 /etc/gitlab/gitlab.rb 后必须执行
✅ 备份
sudo gitlab-backup create
✅ 查看当前版本
cat /opt/gitlab/version-manifest.txt
GitLab 不支持跨大版本升级
✅ 正确顺序示例:
14.0 → 14.10 → 15.0 → 15.11 → 16.x
sudo apt update
sudo apt upgrade gitlab-ee
# 或
sudo apt upgrade gitlab-ce
⚠️ 升级后自动执行:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo apt install gitlab-ee=16.1.0-ee.0
查看可用版本:
apt-cache policy gitlab-ee
sudo gitlab-backup create
默认路径:
/var/opt/gitlab/backups/
sudo tar czf /root/gitlab-config-$(date +%F).tar.gz /etc/gitlab
sudo gitlab-backup restore BACKUP=timestamp
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
⚠️ 恢复前 GitLab 版本必须一致
配置文件:
/etc/gitlab/gitlab.rb
常见维护项:
external_url 'https://gitlab.example.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['gitlab_signup_enabled'] = false
修改后:
sudo gitlab-ctl reconfigure
find /var/opt/gitlab/backups -mtime +30 -delete
sudo gitlab-ctl restart sidekiq
sudo gitlab-psql -d gitlabhq_production
sudo apt update && sudo apt upgrade
sudo ufw allow 80
sudo ufw allow 443
letsencrypt['enable'] = true
sudo gitlab-ctl status
sudo gitlab-ctl tail nginx
sudo gitlab-ctl restart puma
df -h
du -sh /var/opt/gitlab/*
/etc/gitlab✅ 定期备份
✅ 小版本升级
✅ 升级前测试
✅ 监控磁盘 & 内存
✅ 升级前阅读官方升级路径
如果你愿意,我可以:
直接告诉我你现在的 GitLab 版本 + Debian 版本 即可。