当前位置: 代码迷 >> 综合 >> GitLab从旧服务器迁移到新服务器
  详细解决方案

GitLab从旧服务器迁移到新服务器

热度:71   发布时间:2024-02-06 15:41:45.0

迁移前首先要保证新旧服务器上的GitLab版本号一致。

查看当前GitLab版本

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
  • 1

显示为 10.3.3。

1 新服务器升级系统

内核和软件一起升级

yum -y update
  • 1

升级完成后查看系统版本号

cat /etc/redhat-release
  • 1

输出如下:CentOS Linux release 7.6

2 新服务器上安装GitLab

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

3 旧服务器升级GitLab

GitLab不能跨版本升级,需一个一个大版本升级。例如:10.8.7是10的最后一个版本,11.11.0是11的最后一个版本,则从 10.3.3 升级到 12.0.1,需要经过 10.3.3 -> 10.8.7 -> 11.11.0 -> 12.0.1。。

yum install -y gitlab-ce-10.8.7-ce.0.el7
yum install -y gitlab-ce-11.11.0-ce.0.el7
yum install -y gitlab-ce
  • 1
  • 2
  • 3

注:如果不指定版本号,则自动升级到最新版本。

在每一次升级后,都要测试GitLab后台系统是否正常,如果不能访问了,则说明本次升级失败,应解决错误或回退版本。

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

4.1 备份旧服务器的文件

gitlab-rake gitlab:backup:create
  • 1

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

4.2 使用scp命令从本地旧服务器复制文件到新服务器

scp /var/opt/gitlab/backups/1561597102_2019_06_27_12.0.1_gitlab_backup.tar root@xxx.xxx.xxx.xxx:/var/opt/gitlab/backups/
  • 1

根据提示输入自己新服务器的密码:xxxxxx

5 新服务器恢复GitLab

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

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

5.2 停止数据连接服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
  • 1
  • 2

5.3 恢复备份文件到GitLab

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
  • 1

例如:备份文件名为1561597102_2019_06_27_12.0.1_gitlab_backup.tar,则编号为1561597102_2019_06_27_12.0.1。
在提示中敲入“yes”继续。

5.4 启动GitLab

gitlab-ctl start

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