Ubuntu与GitLab数据迁移方法
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION查看源版本,目标服务器安装对应版本(如gitlab-ce_14.8.2-ce.0_amd64.deb),避免因版本差异导致恢复失败。sudo gitlab-rake gitlab:backup:create,默认生成路径为/var/opt/gitlab/backups。curl https://packages.gitlab.com/gpg.key | sudo apt-key add -
echo "deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab.list
sudo apt-get update
apt upgrade保持更新。sudo apt-get install gitlab-ce
/etc/gitlab/gitlab.rb设置外部访问URL(如external_url 'http://your-server-ip:8090'),然后执行sudo gitlab-ctl reconfigure使配置生效。sudo gitlab-ctl start。将源服务器/var/opt/gitlab/backups目录下的备份文件(如1684461274_2023_05_19_13.12.2_gitlab_backup.tar)复制到目标服务器相同路径。可使用scp命令(需替换IP和路径):
scp -r user@source-server-ip:/var/opt/gitlab/backups/* user@target-server-ip:/var/opt/gitlab/backups/
cd /var/opt/gitlab/backups
chmod 777 1684461274_2023_05_19_13.12.2_gitlab_backup.tar # 替换为实际文件名
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
gitlab-rake命令恢复指定备份文件(注意:BACKUP参数为文件名前缀,不含.tar后缀):sudo gitlab-rake gitlab:backup:restore BACKUP=1684461274_2023_05_19_13.12.2
sudo gitlab-ctl start
external_url(如http://your-server-ip:8090),使用原GitLab的管理员账号(如root)登录,确认能正常访问。gitlab-ci.yml中的test阶段),验证自动化流程是否正常;检查Runner是否可用(需重新注册Runner,若原Runner未迁移)。ERROR: must be owner of extension pg_trgm等提示,可忽略(官方文档说明此为正常现象,不影响数据完整性)。Settings > CI/CD > Runners)。