温馨提示×

Debian下GitLab如何维护

小樊
41
2026-07-07 06:52:14
栏目: 智能运维

Debian 下维护 GitLab(通常指 Omnibus 版 GitLab)主要包括:升级、备份、日志、服务管理、配置、迁移、安全与排错。下面按常见维护场景系统说明。


一、GitLab 安装方式确认

先确认是 Omnibus 安装(最常见):

dpkg -l | grep gitlab

或:

which gitlab-ctl

✅ 有 gitlab-ctl → Omnibus
❌ 无 → 可能是 Docker / 源码 / Kubernetes


二、日常维护命令(最重要)

1️⃣ 服务管理

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

2️⃣ 查看日志(排错核心)

sudo gitlab-ctl tail
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail postgresql
sudo gitlab-ctl tail sidekiq

3️⃣ 检查配置

sudo gitlab-ctl reconfigure

⚠️ 修改 /etc/gitlab/gitlab.rb 后必须执行


三、GitLab 升级(Debian)

1️⃣ 升级前必做

备份

sudo gitlab-backup create

✅ 查看当前版本

cat /opt/gitlab/version-manifest.txt

2️⃣ 升级顺序(非常重要)

GitLab 不支持跨大版本升级

✅ 正确顺序示例:

14.0 → 14.10 → 15.0 → 15.11 → 16.x

3️⃣ APT 升级方式

sudo apt update
sudo apt upgrade gitlab-ee
# 或
sudo apt upgrade gitlab-ce

⚠️ 升级后自动执行:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

4️⃣ 指定版本升级(推荐)

sudo apt install gitlab-ee=16.1.0-ee.0

查看可用版本:

apt-cache policy gitlab-ee

四、备份与恢复(维护核心)

1️⃣ 创建备份

sudo gitlab-backup create

默认路径:

/var/opt/gitlab/backups/

2️⃣ 备份配置文件

sudo tar czf /root/gitlab-config-$(date +%F).tar.gz /etc/gitlab

3️⃣ 恢复备份

sudo gitlab-backup restore BACKUP=timestamp
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

⚠️ 恢复前 GitLab 版本必须一致


五、配置维护(gitlab.rb)

配置文件:

/etc/gitlab/gitlab.rb

常见维护项:

修改外部 URL

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

六、磁盘 & 性能维护

1️⃣ 清理旧备份

find /var/opt/gitlab/backups -mtime +30 -delete

2️⃣ 清理 Redis / Sidekiq 队列

sudo gitlab-ctl restart sidekiq

3️⃣ 数据库维护

sudo gitlab-psql -d gitlabhq_production

七、安全维护

1️⃣ 升级系统

sudo apt update && sudo apt upgrade

2️⃣ 防火墙

sudo ufw allow 80
sudo ufw allow 443

3️⃣ SSL(推荐 Let’s Encrypt)

letsencrypt['enable'] = true

八、常见故障排查

GitLab 无法访问

sudo gitlab-ctl status
sudo gitlab-ctl tail nginx

502 错误

sudo gitlab-ctl restart puma

磁盘满

df -h
du -sh /var/opt/gitlab/*

九、迁移服务器(简要)

  1. 旧服务器备份
  2. 新服务器安装 同版本 GitLab
  3. 恢复备份
  4. 复制 /etc/gitlab

十、维护建议(最佳实践)

✅ 定期备份
✅ 小版本升级
✅ 升级前测试
✅ 监控磁盘 & 内存
✅ 升级前阅读官方升级路径


如果你愿意,我可以:

  • ✅ 给你 Debian + GitLab 升级路径表
  • ✅ 写 自动备份脚本
  • ✅ 帮你排查 502 / 500 / 性能问题
  • ✅ 指导 GitLab Runner 维护

直接告诉我你现在的 GitLab 版本 + Debian 版本 即可。

0