下面按常见场景给你讲一下 Linux 上 GitLab 的迁移方法,先区分你是哪一种情况:
先确认你用的是哪种 GitLab:
rpm -qa | grep gitlab
# 或
dpkg -l | grep gitlab
一般有两种:
下面以 Omnibus GitLab 为主讲。
gitlab-rake gitlab:backup:create
备份文件在:
/var/opt/gitlab/backups/
文件名类似:
1716000000_2024_05_18_16.5.0_gitlab_backup.tar
scp /var/opt/gitlab/backups/*.tar root@新服务器:/var/opt/gitlab/backups/
# CentOS / RHEL
yum install gitlab-ee-16.5.0
# Ubuntu
apt install gitlab-ee=16.5.0
gitlab-ctl reconfigure
gitlab-rake gitlab:backup:restore BACKUP=1716000000_2024_05_18_16.5.0
gitlab-ctl restart
✅ 完成
不能跨大版本直接恢复
例如:
gitlab-ctl reconfigure
gitlab-rake db:migrate
docker exec -t gitlab gitlab-rake gitlab:backup:create
/var/opt/gitlab/backups/etc/gitlab/var/opt/gitlab如果不想整体迁移:
git clone --mirror git@old.gitlab.com:group/project.git
cd project.git
git push --mirror git@new.gitlab.com:group/project.git
⚠️ 会丢失:
✅ 版本必须一致或逐级升级
✅ 备份包含:
gitlab-rake gitlab:check
你可以告诉我:
我可以给你定制迁移方案。