Gitlab迁移

前言

目前的gitlab仓库在私人的服务器上,而且服务器的磁盘马上打满,所以需要进行一次迁移


一、迁移

1、新建服务器

我们创建一台4C8G的ubuntu节点,初始化配置,准备安装

2、查看gitlab版本

在这里插入图片描述
11.1.4 一个非常旧的版本了,我们在进行迁移时,必须要保持版本一致!

3、备份gitlab

进入到原gitlab上

gitlab-rake gitlab:backup:create
会生成一个tar包:
cd /var/opt/gitlab/backups/
1691154832_2023_08_04_11.1.4_gitlab_backup.tar

4、在新节点上部署gitlab

(1)、安装依赖

apt update
apt install ca-certificates curl openssh-server postfix

(2)、下载依赖包

wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_11.1.4-ce.0_amd64.deb/download.deb

mv download.deb  gitlab-ce_11.1.4-ce.0_amd64.deb

(3)、安装Gitlab

dpkg -i gitlab-ce_11.1.4-ce.0_amd64.deb

(4)、复制配置文件

cd /etc/gitlab
mv gitlab.rb gitlab.rb.back

#进入到原来的gitlab里面
cd /etc/gitlab
scp gitlab.rb 1.1.1.1:/etc/gitlab
scp gitlab-secrets.json 1.1.1.1:/etc/gitlab
#备注:1.1.1.1为新机器的IP

(5)、上传证书

#将证书上传到服务器上
解压证书
unzip gitlab.csshavas.cn_nginx.zip 
mkdir /etc/gitlab/ssl
mv gitlab.csshavas.cn_bundle.pem /etc/gitlab/ssl/ceshi.sllyn.com.pem
mv gitlab.csshavas.cn.key /etc/gitlab/ssl/ceshi.sllyn.com.key

(6)、修改配置文件

external_url 'https://gitlab.csshavas.cn'
nginx['enable'] = true
#nginx['listen_port'] = 80
#nginx['redirect_http_to_https_port'] = 443
nginx['client_max_body_size'] = '1024m'
nginx['ssl_certificate'] = "/etc/gitlab/ssl/ceshi.sllyn.com.pem"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/ceshi.sllyn.com.key" 
 备注:需要注释掉以上几项内容,将80端口关闭,只开启443端口

(7)、重载配置文件

gitlab-ctl reconfigure

#等待服务启动完成

(8)、导入备份到数据

cp /root/gitlab/1691154832_2023_08_04_11.1.4_gitlab_backup.tar /var/opt/gitlab/backups/
chmod 777 1691154832_2023_08_04_11.1.4_gitlab_backup.tar 

#开始导入数据
gitlab-rake gitlab:backup:restore BACKUP=1691154832_2023_08_04_11.1.4

#等待数据导入完成,重新登录gitlab:https://gitlab.csshavas.cn简单查看数据是否完整
#查看用户/查看提交版本/查看分支等等

(9)、迁移完成

如果以上访问与检查没有什么问题, 迁移完成


二、升级Gitlab

1、说明

由于现在11.1.4版本太低,需要对现在的服务进行升级,升级到过程需要一步一步来,不能直接升到最高版本

2、升级版本

11.1.4
11.5.0
11.11.8
12.0.12
12.10.14
13.0.12
对于我们现在的版本,进行逐步升级

3、下载安装包,并进行升级

dpkg -i gitlab-ce_11.5.0-ce.0_amd64.deb

dpkg -i gitlab-ce_11.11.8-ce.0_amd64.deb

dpkg -i gitlab-ce_12.0.12-ce.0_amd64.deb

dpkg -i gitlab-ce_12.10.14-ce.0_amd64.deb

dpkg -i gitlab-ce_13.0.12-ce.0_amd64.deb

#备注:每次升级完一个版本,进行gitlab-ctl reconfigure重新加载配置文件,然后访问gitlab保障每一步都是正常的,如果出现问题,例如访问502,查看/var/log/gitlab下的日志,进行排查

4、检查升级后的版本

在这里插入图片描述
暂时升级到13.0.12,使用一段时间后在进行升级,目标到15版本,最新为16

5、定时备份

gitlab作为互联网公司最终要的数据,我们需要进行定时备份
备份脚本:
vim /opt/script/gitlab-backup.sh 
#!/bin/bash

#backup gitlab
/opt/gitlab/bin/gitlab-rake gitlab:backup:create

#clean backup
find /var/opt/gitlab/backups/ -n '*.tar' -mtime +10 | xargs rm -rf 

配置定时任务:
crontab -e 
1 1 * * * /usr/bin/bash  /opt/script/gitlab-backup.sh

#备注:每天凌晨1点1分开始备份,并保存10天到备份文件

[完成]


HTML 2436 字数 93 段落

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值