GitLab 迁移分同版本迁移和跨版本/跨服务器迁移,下面按最常用、最稳妥的方式给你一个完整流程。如果你能补充:
我可以给你更精确到命令的方案。
✅ 适用于 跨服务器 / 跨系统 / 升级迁移
gitlab-backup create
默认生成文件:
/var/opt/gitlab/backups/XXXXXXXX_gitlab_backup.tar
⚠️ 不包含配置文件(需单独备份)
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.bak
scp /var/opt/gitlab/backups/*_gitlab_backup.tar root@new_server:/var/opt/gitlab/backups/
scp /etc/gitlab/gitlab.rb root@new_server:/etc/gitlab/
scp /etc/gitlab/gitlab-secrets.json root@new_server:/etc/gitlab/
⚠️ 版本必须一致
查看旧版本:
gitlab-rake gitlab:env:info
安装示例(Ubuntu):
apt-get install gitlab-ee=16.3.5-ee.0
gitlab-ctl reconfigure
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
恢复:
gitlab-backup restore BACKUP=XXXXXXXX
恢复配置:
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true
gitlab/configgitlab/logsgitlab/data适用于:
方式:
git clone --mirror
git push --mirror
✅ 版本必须一致或先升级
✅ 新服务器 磁盘空间 ≥ 旧服务器
✅ gitlab-secrets.json 必须恢复(否则 CI / Runner 失效)
✅ 迁移后:
你可以直接回复我:
我可以给你 一步步命令级迁移方案 ✅