维护 Linux 上的 GitLab 主要包括系统维护、GitLab 服务维护、数据备份与恢复、升级、安全与性能优化等方面。下面按常见场景给你一份实用维护指南(适用于 Omnibus 安装方式,这是最主流的)。
sudo gitlab-ctl status
sudo gitlab-ctl restart
sudo gitlab-ctl stop
sudo gitlab-ctl start
sudo gitlab-ctl tail
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail postgresql
配置文件路径:
sudo vim /etc/gitlab/gitlab.rb
修改后必须执行:
sudo gitlab-ctl reconfigure
⚠️ 不要直接修改 /var/opt/gitlab 下的文件
sudo gitlab-backup create
备份文件默认位置:
/var/opt/gitlab/backups/
编辑 crontab:
sudo crontab -e
示例(每天 2 点备份):
0 2 * * * /opt/gitlab/bin/gitlab-backup create CRON=1
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
sudo gitlab-backup restore BACKUP=timestamp
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
cat /opt/gitlab/version-manifest.txt
GitLab 不能跨大版本升级,例如:
14.0 → 14.10 → 15.0 → 15.11 → 16.x
sudo apt update
sudo apt install gitlab-ee
或指定版本:
sudo apt install gitlab-ee=16.0.0-ee.0
sudo gitlab-ctl reconfigure
sudo gitlab-ctl status
df -h
du -sh /var/opt/gitlab/*
常见占用大户:
sudo gitlab-ctl cleanup
或手动清理:
sudo rm -rf /var/log/gitlab/*
在 GitLab UI:
Admin → CI/CD → Artifacts / Jobs
或命令行:
sudo gitlab-rake gitlab:cleanup:orphaned_job_artifact_files
sudo apt update && sudo apt upgrade
letsencrypt['enable'] = true
sudo ufw allow 80
sudo ufw allow 443
sudo gitlab-ctl status
sudo gitlab-ctl tail nginx
sudo gitlab-psql
sudo chown -R git:git /var/opt/gitlab/git-data
| 项目 | 频率 |
|---|---|
| 备份 | 每天 |
| 系统更新 | 每月 |
| GitLab 小版本升级 | 每季度 |
| 大版本升级 | 官方发布后 |
| 日志清理 | 每月 |
/var/opt/gitlab如果你愿意,我可以:
你可以直接贴出:
cat /opt/gitlab/version-manifest.txt