版本一致性检查
确保新旧服务器GitLab版本一致(可通过cat /opt/gitlab/embedded/service/gitlab-rails/VERSION查看版本号),避免因版本差异导致数据结构不兼容。
备份数据
/etc/gitlab/gitlab.rb、/etc/gitlab/gitlab-secrets.json。sudo gitlab-rake gitlab:backup:create,备份文件存放在/var/opt/gitlab/backups/。安装GitLab
在新服务器安装与旧版本相同的GitLab:
wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
sudo bash script.deb.sh
sudo apt-get install gitlab-ce=[旧版本号]-ce.0_amd64.deb
恢复数据
/var/opt/gitlab/backups/,并赋予权限:sudo chmod 777 *.tar。sudo gitlab-ctl stop unicorn sidekiq。sudo gitlab-rake gitlab:backup:restore BACKUP=[备份文件名],按提示输入yes。配置与重启
gitlab.rb和gitlab-secrets.json复制到/etc/gitlab/。sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart。数据库兼容性
pg_dump/psql导出导入)。gitlab.rb中数据库连接参数(如host、port)正确。存储路径与附件
git_data_dir),需在新服务器gitlab.rb中同步配置,并复制仓库文件。/var/opt/gitlab/shared/,确保文件权限正确。特殊组件处理
config.toml中的GitLab URL。gitlab.rb中配置相同的访问密钥和参数。功能验证
风险控制
参考来源: