下面按常见场景给你一份 Linux 下 GitLab 迁移的完整思路与操作步骤。先确认你是哪一种迁移:
下面以 最常用:同版本整机迁移(Omnibus GitLab) 为例。
gitlab-rake gitlab:env:info
# 或
cat /opt/gitlab/version-manifest.txt
gitlab-rake gitlab:backup:create
生成文件:
/var/opt/gitlab/backups/xxxx_gitlab_backup.tar
/etc/gitlab/gitlab.rb
/etc/gitlab/gitlab-secrets.json
scp /var/opt/gitlab/backups/*.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/
# Ubuntu 示例
apt install gitlab-ee=版本号
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=备份文件名前缀
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true
访问 Web 页面,确认:
gitlab.rbgitlab-secrets.jsonbackupsgit clone --mirror
git push --mirror
(不适合带 Issue / CI)
Settings → General → Export
❗ 版本不一致会恢复失败
❗ 忘记 gitlab-secrets.json → CI/Token 失效
❗ 防火墙 / SSH 端口未开
如果你告诉我:
我可以给你定制化迁移命令。