Gitlab服务器备份恢复及系统升级

居安思危,思则有备,有备无患。

基于此,申请了一个测试服务器,准备先安装同版本服务器,按照最新的数据进行恢复,然后再将现在的服务器升级到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密码。

相关推荐
HIT_Weston2 天前
43、【Ubuntu】【Gitlab】拉出内网 Web 服务:静态&动态服务
前端·ubuntu·gitlab
小安同学iter2 天前
三台服务器,一套流水线:如何实现无缝自动化部署?
gitlab·jenkins
西部森林牧歌3 天前
Arbess从基础到高阶(14) - 使用Arbess+GitLab+SonarQube实现代码扫描完成后自动化部署
ci/cd·gitlab·sonarqube·arbess·tiklab devops
4***V2023 天前
GitLab Pages配置
git·gitlab·github
sulikey4 天前
从入门到精通:如何自己编写高质量的 .gitignore(面向工程实践)
git·gitee·编辑器·gitlab·github·gitignore·gitattributes
小晶晶京京4 天前
day62-gitlab和JenKins
运维·gitlab·jenkins
三天不学习6 天前
GitLab Docker 安装完整配置项说明
docker·容器·gitlab
一念一花一世界7 天前
Arbess从初级到进阶(9) - 使用Arbess+GitLab实现C++项目自动化部署
c++·ci/cd·gitlab·arbess
X***48967 天前
GitLab
gitlab
一世一生命8 天前
GitLab Package依赖管理:从 Dependabot 到 Renovate 的迁移实践和两者对比
gitlab