gitlab项目的备份与迁移

gitlab项目的备份与迁移

最近工作中需要用到gitlab项目的备份与迁移工作,因此做了一个简单的部署配置,这里小小记录一下。


一、gitlab的安装

1、安装准备

1、本人由于在centos7上部署gitlab,因此使用的gitlab的版本为 gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm,这里提供清华的镜像网站 https://mirrors.tuna.tsinghua.edu.cn/  。

这里我选择的是 gitlab-ce 社区版

2、进入后根据自身部署系统下载相应的安装包

3、因为我的centos版本为el7的版本,可在linux上使用 uname -a 命令查看:

4、进入el7文件夹后,可选择相应的版本下载,其它系统操作类似。

重点:因为本人之前使用的gitlab版本为 13.1.2 ,所以在需要恢复的服务器上也安装相同版本的gitlab,否则前者备份好的包无法在后者上进行恢复。

5、rpm 包的安装命令为: rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

 

2、安装配置必要的依赖

1、安装防火墙

yum install firewalld systemd -y

2、开启防火墙

service firewalld  start

3、安装SSH协议

yum install -y curl policycoreutils-python openssh-server

4、设置SSH服务开机自启动

systemctl enable sshd

5、启动SSH服务

systemctl start sshd

6、添加HTTP服务到firewalld

firewall-cmd --permanent --add-service=http

7、添加HTTPS服务到firewalld

firewall-cmd --permanent --add-service=https

8、重启防火墙

systemctl reload firewalld

9、安装Postfix以发送通知邮件

yum install postfix

10、将postfix服务设置成开机自启动

systemctl enable postfix

11、启动postfix

systemctl start postfix

 

二、gitlab的配置

1、gitlab配置

在gitlab 安装完毕之后,会默认在 /etc 下创建一个 gitlab 目录,配置文件也放在这里,如上图 gitlab.rb 文件。

打开配置文件进行修改:

## 修改访问的的路径,端口可加可不加,不加时在浏览器访问不需要添加端口
external_url 'http://192.168.2.163'

## 备份路径,备份的包可放在自定义位置
gitlab_rails['backup_path'] = "/home/gitbackups"

## 备份文件的生命周期,我这里设置了15天
gitlab_rails['backup_keep_time'] = 1296000

2、配置完毕之后,需要刷新配置信息

gitlab-ctl reconfigure

配置刷新后,会在 /var/opt/gitlab 目录下创建许多必要插件。

3、启动gitlab

gitlab-ctl start

 

三、gitlab创建备份

1、创建备份文件,首先进行老服务器上的gitlab备份,使用下方命令

gitlab-rake gitlab:backup:create

备份之后我的备份包还在 gitlab_rails['backup_path'] = “/home/gitbackups” 下,因为我在配置文件中已自定义,若无修改,则默认备份到 /var/opt/gitlab/backups 目录下,

2、自动备份设置

在 /etc 下有一个 crontab 文件,可以设置自动执行某些命令,每一行代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,每个字段之间用空格分割,没用的段用*代替,格式如下:

m h dom mon dow user command

修改之后重启crond服务,systemctl restart crond, 此后定时会生效。

具体cron写法可看 http://www.cnblogs.com/kaituorensheng/p/4494321.html

 

四、gitlab备份恢复

1、将老服务器上的备份包拷贝一份到新服务器的 gitlab_rails['backup_path'] = “/home/gitbackups”下,你配置文件中写的什么位置,拷贝过来的包就放在什么位置,并在新服务器上给其设置 777 权限,避免恢复过程中某些插件权限不够的情况。

 chmod 777 xxxxxx.tar

2、执行命令停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

3、备份恢复

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

例如:我的备份包为 1618941697_2021_04_21_13.1.2_gitlab_backup.tar,那么备份文件编号就为 1618941697_2021_04_21_13.1.2,选整个文件名称没用。

gitlab-rake gitlab:backup:restore BACKUP=1618941697_2021_04_21_13.1.2

在恢复过程中会遇到两个交互界面,都输入 yes,之后就会安装成功。

4、访问新gitlab界面

查看 /etc/gitlab/gitlab.rb 文件中 external_url,直接访问该地址就能进入到首页。

5、密码修改

若访问页面忘记了账号和密码,可查看以下链接修改。

http://www.eryajf.net/5315.html

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值