在 CentOS 上迁移 GitLab,常见有几种场景,我先按最常用、最稳妥的方式给你讲,然后给你具体命令步骤。
适用于:
✅ 优点:最安全、官方支持
⚠️ 不建议跨大版本直接恢复
如果你用的是 Docker,方式更简单(后面可补充)
gitlab-rake gitlab:backup:create
备份文件位置:
/var/opt/gitlab/backups/
文件名类似:
1651234567_2024_01_01_gitlab_backup.tar
scp /var/opt/gitlab/backups/*.tar root@新服务器IP:/var/opt/gitlab/backups/
查看旧版本:
cat /opt/gitlab/version-manifest.txt
新服务器安装(示例):
yum install -y curl policycoreutils-python openssh-server
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
yum install gitlab-ce-<版本号>
vi /etc/gitlab/gitlab.rb
修改:
external_url 'http://新IP或域名'
使配置生效:
gitlab-ctl reconfigure
gitlab-ctl stop unicorn
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
恢复(文件名不含 _gitlab_backup.tar):
gitlab-rake gitlab:backup:restore BACKUP=1651234567_2024_01_01
启动:
gitlab-ctl start
gitlab-ctl status
gitlab-rake gitlab:check SANITIZE=true
/etc/gitlab/gitlab.rb
/etc/gitlab/gitlab-secrets.json
否则:
还需迁移:
/etc/gitlab/ssl/
gitlab-ctl restart
必须先升级旧 GitLab 到新版本再备份
我可以给你更精确的命令,只要告诉我:
我可以直接给你一套可执行脚本。