• 迁移前首先要保证新旧服务器上的GitLab版本号一致。
    查看当前GitLab版本
    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    显示为 10.3.3

1. 新服务器上安装GitLab

安装教程在这里
安装完成后,最新版本的GitLab是 13.9.7。相当于说,要在旧服务器上把GitLab从10.3.3升级到13.9.7。

2.旧服务器升级GitLab

GitLab不能跨版本升级,需一个一个大版本升级。例如:10.8.7是10的最后一个版本,11.11.0是11的最后一个版本,12.10.14是12的最后一个版本。则从 10.3.3 升级到 13.9.7,需要经过 10.3.3 -> 10.8.7 -> 11.11.0 -> 12.10.14 -> 13.9.7
在每一次升级后,都要测试GitLab后台系统是否正常,如果不能访问了,则说明本次升级失败,应解决错误或回退版本。

3.拷贝旧服务器的备份文件到新服务器

3.1 备份旧服务器的文件

gitlab-rake gitlab:backup:create
默认将会在 /var/opt/gitlab/backups/ 目录下生成备份文件。

3.2 从本地旧服务器复制文件到新服务器

将备份文件复制到新服务器的/var/opt/gitlab/backups/的目录中

4. 新服务器恢复GitLab

4.1 将备份文件权限修改为777,避免出现权限不够的问题

cd /var/opt/gitlab/backups chomd 777 1561597102_2019_06_27_12.0.1_gitlab_backup.tar

4.2 停止数据连接服务

gitlab-ctl stop unicorn gitlab-ctl stop sidekiq

4.3 恢复备份文件到GitLab

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
例如:备份文件名为1624535090_2021_06_24_13.9.7_gitlab_backup.tar,则编号为1624535090_2021_06_24_13.9.7。
在提示中敲入“yes”继续。

4.4 启动GitLab

gitlab-ctl start

  • 最后检查新旧GitLab的内容,完全一模一样,迁移成功!

Q.E.D.





莫道君行早,更有早行人。