在 Debian 上将 GitLab 迁移,通常分为 同版本迁移 和 跨版本/跨服务器迁移 两种场景。下面以 官方 Omnibus GitLab(最常见) 为例说明。
gitlab-rake gitlab:env:info
或
cat /opt/gitlab/version-manifest.txt
✅ 强烈建议:源和目标 GitLab 版本一致
sudo gitlab-ctl stop
sudo gitlab-rake gitlab:backup:create
备份文件位置:
/var/opt/gitlab/backups/
文件名类似:
1690000000_2024_07_20_16.0.1_gitlab_backup.tar
scp /var/opt/gitlab/backups/*.tar root@目标IP:/var/opt/gitlab/backups/
同时拷贝配置文件:
/etc/gitlab/gitlab.rb
/etc/gitlab/gitlab-secrets.json
apt-get install gitlab-ee=16.0.1-ee.0
或
apt-get install gitlab-ce=16.0.1-ce.0
cp gitlab.rb /etc/gitlab/
cp gitlab-secrets.json /etc/gitlab/
重新配置:
gitlab-ctl reconfigure
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1690000000_2024_07_20_16.0.1
按提示输入 yes
gitlab-ctl start
gitlab-rake gitlab:check SANITIZE=true
访问 Web 页面,确认:
/var/opt/gitlab/etc/gitlab先升级源 GitLab 到目标版本,再备份
gitlab-ctl reconfigure
gitlab-ctl restart
会导致:
如果你能告诉我:
我可以给你 精确命令级方案。