一、需求
为了防止数据丢失,做备份gitlab服务器
二、不同gitlab服务器之间的数据备份恢复
1.保证俩台gitlab版本一定要相同
# 查看当前的版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
2.安装gitlab
# 下载gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
# 卸载原有的rpm
rpm -e gitlab-ce-15.0.5-ce.0.el7.x86_64.rpm
# 安装
rpm -ivh gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
# 重新加载
gitlab-ctl reconfigure
3.备份(在源gitlab服务器上执行)
# Gitlab数据备份
gitlab-rake gitlab:backup:create
# 生成目录
/var/opt/gitlab/backups
4.恢复(目标gitlab服务器执行)
# 停止目标gitlab数据服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 拷贝源gitlab的备份文件到目标服务器
scp xxxxxxxxxx
# 恢复操作(不加后缀或者加着都行)
gitlab-rake gitlab:backup:restore BACKUP=1684205552_2023_05_16_15.0.5
注意看着电脑,会提示输入yes
5.恢复完成重启服务即可
命令:gitlab-ctl restart
chmod -R 755 /var/log/gitlab
三、同步俩台gitlab服务器代码推送
1.源代码仓库设置-----仓库-----镜像仓库
2.输入目标仓库合用户名密码
http://user@192.168.xxx.xxx:8005/group/project.git
# 密码:
root密码
3.右边的刷新按钮,强制推送,立马推送
正常情况下,只要你在源gitlab服务器提交代码,就回立马推送到目标gitlab服务器
评论区