在 Debian 上“迁移 GitLab”通常有三种常见场景,我先按最常见、最稳妥的方式说明,你可对号入座:
适用于:
sudo gitlab-rake gitlab:backup:create
备份文件在:
/var/opt/gitlab/backups/
同时备份配置文件:
sudo tar czf gitlab-config.tar.gz /etc/gitlab
scp /var/opt/gitlab/backups/*.tar /etc/gitlab/ /new-server:/root/
查看原版本:
cat /opt/gitlab/version-manifest.txt | head -1
新服务器安装:
sudo apt-get install gitlab-ee=原版本
# 或 gitlab-ce
sudo tar xzf gitlab-config.tar.gz -C /
sudo gitlab-ctl reconfigure
sudo gitlab-rake gitlab:backup:restore BACKUP=时间戳
sudo gitlab-ctl restart
✅ 只能向上升级,不能降级
步骤:
⚠️ 跨大版本(如 14 → 16)需逐级升级
适合:
git clone --mirror git@old-gitlab:group/project.git
cd project.git
git push --mirror git@new-gitlab:group/project.git
重点是:
/var/opt/gitlab
/etc/gitlab
/var/log/gitlab
直接整体拷贝 + 启动容器即可。
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
必须安装备份时相同或更高版本。
用户 SSH Key 在备份中,无需手动处理。
如果你能告诉我:
我可以给你精确命令。