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

相关推荐
旧梦星轨1 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨1 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
极小狐4 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li4 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐5 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵6 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐6 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化
极小狐6 天前
用 Flow 编排 Agent 智能体:极狐GitLab Duo 自定义工作流实战
ai·gitlab·agent·devops·flow·duo
陈皮糖..6 天前
基于 Kubernetes 与 GitLab CI/CD 的云原生自动化交付平台
运维·ci/cd·云原生·架构·kubernetes·自动化·gitlab
11路没有终点7 天前
GitLab CI/CD 高级模式实战:include 模板库 / trigger 子流水线 / matrix 并行
ci/cd·gitlab