gitlab把数据和配置数据从旧服务器迁移到新服务器

【1】旧服务器查看版本号

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

不同版本可能存在兼容性问题,所以建议使用相同版本的gitlab

【2】新服务器安装老版本gitlab

1.安装依赖:
新服务器已经安装如下依赖的可以忽略如下依赖,直接安装rpm版本的gitlab-ce
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
  

2.安装gitlab:
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-XXX.rpm
rpm -i gitlab-ce-XXX.rpm
这里gitlab-ce-XXX.rpm 根据你的需要安装需要的版本,如果服务器配置比较低就安装低点的版本。

自己可以在https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/  中挑选。

如:
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.5.4-ce.1.el7.x86_64.rpm
rpm -i gitlab-ce-10.5.4-ce.1.el7.x86_64.rpm

需要迁移的数据包括gitlab配置和gitlab备份数据

【3】旧服务器备份数据和配置

gitlab-rake gitlab:backup:create
默认将会在 /var/opt/gitlab/backups/ 目录下生成备份文件,
如果没有就用命令"gitlab-ctl show-config | grep backup_path"查看

备份原服务器上的配置信息
保存gitlab的域名、邮件发送信息、白名单等相关信息的配置文件 /etc/gitlab/gitlab.rb
存储了gitlab的db secret信息的配置文件 /etc/gitlab/gitlab-secrets.json

备份数据是创建出来的,配置文件存在于如上两个文件中,只需要把一个备份数据文件和两个配置文件复制到新服务器上

【4】使用scp命令把旧服务器复制文件到新服务器

scp /etc/gitlab/gitlab-secrets.json newUser@www.newHost.com:/home/newUser/
scp /etc/nginx/conf.d/gitlab.conf newUser@www.newHost.com:/home/newUser/
scp /var/opt/gitlab/backups/1637417712_2021_11_20_10.5.4_gitlab_backup.tar newUser@www.newHost.com:/home/newUser/
scp 本地文件路径 远端用户@远端地址:远端目录

先恢复配置文件,执行gitlab-ctl reconfigure,再恢复备份数据,执行gitlab-ctl reconfigure 

【5】新服务器恢复数据和配置

新服务器上:
恢复配置文件
sudo mv ./gitlab.rb /etc/gitlab/
sudo mv ./gitlab-secrets.json /etc/gitlab/
sudo gitlab-ctl reconfigure
恢复数据到备份目录,默认是/var/opt/gitlab/backups,或者通过命令"gitlab-ctl show-config | grep backup_path"查看
sudo mv ./1637417712_2021_11_20_10.5.4_gitlab_backup.tar /var/opt/gitlab/backups/
注意提前看一下目录下文件的权限,可能没有其他用户没有读权限,要修改一下
sudo gitlab-rake gitlab:backup:restore BACKUP=1637417712_2021_11_20_10.5.4
gitlab-ctl reconfigure

然后还需要配置gitlab的访问,旧服务器使用的nginx,直接把gitlab的配置文件复制到新服务器即可(注意域名,如果域名也需要换,git下载的代码需要修改config中的域名)。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐