居安思危,思则有备,有备无患。
基于此,申请了一个测试服务器,准备先安装同版本服务器,按照最新的数据进行恢复,然后再将现在的服务器升级到Gitlab的最新版本,记录一下完整的过程,以防万一。
参考《CentOS 下搭建Gitlab+Gitlab-runner,配置邮件提醒_centos gitlab搭建_xiaodaiwang的博客-CSDN博客》
《gitlab备份与恢复_gitlab备份恢复_xiaodaiwang的博客-CSDN博客》
一、下载安装Git、Gitlab
1、安装Git前,需要先安装依赖(以下都是在root目录下完成): 编译时如果操作系统没有安装gcc,使用yum -y install gcc*
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
tar -zxvf git-2.9.5.tar.gz
cd git-2.9.5/
make prefix=/usr/local all
yum -y install gcc*
make prefix=/usr/local install
2、安装Gitlab,版本与原服务器安装的一致,便于恢复数据。
rpm -ivh gitlab-ce-15.4.0-ce.0.el7.x86_64.rpm
3、设置配置文件:
vim /etc/gitlab/gitlab.rb
4、重载配置
gitlab-ctl reconfigure
5、设置管理员账号密码
sudo gitlab-rails console -e production
user = User.where(id: 1).first
user.password = 'qwer1234'
user.password_confirmation = 'qwer1234'
user.save!
exit
6、登录测试,没问题。
7、 将备份文件拷贝到新的服务器 /var/opt/gitlab/backups目录下,进行备份恢复。
scp -P 22022 gitlab_20230726.zip root@172。。:/home
cd /home
cp gitlab_20230726.zip /var/opt/gitlab/backups/
cd /var/opt/gitlab/backups/
gitlab-rake gitlab:backup:restore BACKUP=gitlab_20230726.zip
提示"Please make sure that file name ends with _gitlab_backup.tar"
忘记了需要先解压了,并将解压后的文件移动到/var/opt/gitlab/backups目录下,然后重新恢复。
unzip gitlab_20230726.zip
cd gitlab_20230726
mv 1690304462_2023_07_26_15.4.0_gitlab_backup.tar /var/opt/gitlab/backups
gitlab-rake gitlab:backup:restore BACKUP=1690304462_2023_07_26_15.4.0
将原服务器的gitlab-secrets.json覆盖到新的服务器中,该文件在/etc/gitlab目录
执行gitlab-ctl reconfigure命令使配置生效
重启服务 gitlab-ctl restart
8、浏览器访问测试,发现root密码已经不是刚才设置的password了,而是备份的那个服务器上的gitlab的root密码。