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密码。

相关推荐
vpk11218 分钟前
Docker Compose 部署 GitLab
docker·容器·gitlab
Irene199111 小时前
什么是 DevOps
gitlab·devops
蓝天星空1 天前
GitLab上传项目到新的分支
gitlab
1candobetter4 天前
GitLab 项目创建与分支管理全流程
gitlab
林鸿群5 天前
Ubuntu 26.04 本地安装 GitLab CE 完整教程(非 Docker 方式)
linux·ubuntu·gitlab·私有部署·代码托管·ubuntu 26.04·omnibus
ascarl20106 天前
IDEA 一直弹 GitLab 登录,VS Code 却能正常 `git push`?问题排查记录
git·gitlab·intellij-idea
企鹅郁金香8 天前
Gitlab和Confluence和Svn的备份
svn·gitlab·confluence·gitlab备份·svn备份·confluence备份
barbyQAQ8 天前
GitLab CI/CD 基本用法指南
java·ci/cd·gitlab
云中飞鸿9 天前
git、svn;TortoiseGit、TortoiseSVN;gitlab、github、bitbucket、bamboo有什么关系?
git·svn·gitlab
007张三丰11 天前
掌握核心!Git最常用的15个命令行:从入门到实战详解
git·gitlab·github·git命令行·常用命令行