温馨提示×

如何维护Linux GitLab

小樊
32
2026-08-24 23:05:27
栏目: 智能运维

维护 Linux 上的 GitLab 主要包括系统维护、GitLab 服务维护、数据备份与恢复、升级、安全与性能优化等方面。下面按常见场景给你一份实用维护指南(适用于 Omnibus 安装方式,这是最主流的)。


一、基础维护命令

1. 查看 GitLab 状态

sudo gitlab-ctl status

2. 重启 / 停止 / 启动 GitLab

sudo gitlab-ctl restart
sudo gitlab-ctl stop
sudo gitlab-ctl start

3. 查看日志

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

二、配置维护

1. 修改配置

配置文件路径:

sudo vim /etc/gitlab/gitlab.rb

修改后必须执行:

sudo gitlab-ctl reconfigure

⚠️ 不要直接修改 /var/opt/gitlab 下的文件


三、备份与恢复(非常重要)

1. 创建备份

sudo gitlab-backup create

备份文件默认位置:

/var/opt/gitlab/backups/

2. 自动备份(推荐)

编辑 crontab:

sudo crontab -e

示例(每天 2 点备份):

0 2 * * * /opt/gitlab/bin/gitlab-backup create CRON=1

3. 恢复备份

sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq

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

四、升级 GitLab

1. 升级前准备

  • ✅ 完整备份
  • ✅ 查看当前版本
cat /opt/gitlab/version-manifest.txt

2. 升级顺序(非常重要)

GitLab 不能跨大版本升级,例如:

14.0 → 14.10 → 15.0 → 15.11 → 16.x

3. 升级命令(Ubuntu / Debian)

sudo apt update
sudo apt install gitlab-ee

或指定版本:

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

4. 升级后检查

sudo gitlab-ctl reconfigure
sudo gitlab-ctl status

五、系统 & 性能维护

1. 磁盘空间检查

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

常见占用大户:

  • 仓库
  • CI 产物
  • 日志

2. 清理旧日志

sudo gitlab-ctl cleanup

或手动清理:

sudo rm -rf /var/log/gitlab/*

3. 清理 CI 构建产物

在 GitLab UI:

Admin → CI/CD → Artifacts / Jobs

或命令行:

sudo gitlab-rake gitlab:cleanup:orphaned_job_artifact_files

六、安全维护

1. 定期更新系统

sudo apt update && sudo apt upgrade

2. SSH & HTTPS

  • 禁用 GitLab 默认 root 登录
  • 使用 HTTPS(Let’s Encrypt):
letsencrypt['enable'] = true

3. 防火墙

sudo ufw allow 80
sudo ufw allow 443

七、常见故障排查

1. GitLab 无法访问

sudo gitlab-ctl status
sudo gitlab-ctl tail nginx

2. 数据库问题

sudo gitlab-psql

3. 权限问题

sudo chown -R git:git /var/opt/gitlab/git-data

八、推荐维护周期

项目 频率
备份 每天
系统更新 每月
GitLab 小版本升级 每季度
大版本升级 官方发布后
日志清理 每月

九、注意事项(非常重要)

  • ❌ 不要直接删除 /var/opt/gitlab
  • ✅ 升级前一定备份
  • ✅ 升级必须按官方升级路径
  • ✅ 生产环境先测试再升级

如果你愿意,我可以:

  • ✅ 根据你当前 GitLab 版本 给你升级路线图
  • ✅ 给你一份 生产环境维护清单
  • ✅ 针对 Docker / Kubernetes GitLab 单独说明

你可以直接贴出:

cat /opt/gitlab/version-manifest.txt

0