gitlab服务器的迁移与升级备份---从centos 7到ubuntu docker的升级之路

升级思路: 在新服务器上安装老服务器的相同gitlab版本,然后在新服务器上迭代gitlab,

  1. 进入旧版服务器查看当前版本-11.11.8请添加图片描述
  2. 备份老版本gitlab数据
	gitlab-rake gitlab:backup:create #手动备份

生成如下文件
在这里插入图片描述
3. 新服务器上安装11.11.8版本

  docker pull gitlab/gitlab-ce:11.11.8-ce.0  #安装对应版本
  1. 运行docker gitlab
	### 创建配置文件目录
	mkdir -p /home/gitlab/config   创建config目录
	mkdir -p /home/gitlab/logs    创建logs目录
	mkdir -p /home/gitlab/data    创建data目录
	mkdir -p /home/gitlab/gitlab_backups

	### 启动gitlab
	docker run -d \
	 --hostname 10.10.10.246 \
	 --publish 7001:443 --publish 7777:80 --publish 7003:22 --name gitlab_11.11.8 \
	 --volume /home/gitlab/config:/etc/gitlab \
	 --volume /home/gitlab/logs:/var/log/gitlab \
	 --volume /home/gitlab/data:/var/opt/gitlab \
	gitlab/gitlab-ce:11.11.8-ce.0
	
	####
	--name: 设置当前容器名称 便于区分
  1. 设置gitlab的配置文件
 #### 进入gitlab_11.11.8 容器
	 docker exec -it gitlab_11.11.8 /bin/bash  

 ### 设置gitlab配置文件并保存
	 vim /etc/gitlab/gitlab.rb
	 vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
 ### 如果打开路径不对 可以通过查找 替换成查找后的路径即可
	find / -name gitlab.yml
	find / -name gitlab.rb

在这里插入图片描述
在这里插入图片描述
6. 配置完成后通过 10.10.10.246在网页上访问 能打开就可以,不需要进入
7. 还原备份准备工作,我第一次没有找到还原的路径,一直报错(都是经验)后来在服务器上直接备份 然后查找新服务器的备份路径,将老服务器的备份文件 拷到对应目录下 还原即可!!! 如果看不懂 建议多读两遍

  docker exec -it gitlab_11.11.8 /bin/bash   #进入gitlab容器
  gitlab-rake gitlab:backup:create  #在新服务器中手动备份!
  find / -name 新备份文件名
  cp 老服务器备份路径   新服务器备份路径(find找到的 如下如/var/lib...)

请添加图片描述
8. 还原备份

gitlab-rake gitlab:backup:restore BACKUP=1645105774_2022_02_17_11.11.8 --trace
#1645105774_2022_02_17_11.11.8 为老服务器备份文件名称
  1. 打开web页面访问 这个时候用原来的账号密码就可以登录了

  2. 升级准备工作, 将老版本的gitlab升级成最新的,需要按照如下的升级路径进行
    升级路径https://docs.gitlab.com/ee/update/#upgrade-paths
    请添加图片描述

  3. 下载没有版本的镜像文件

	docker pull gitlab/gitlab-ce:XXX-ce.0
	升级路径:
	11.11.8 ->
	12.0.12 ->  gitlab_12.0.12
	12.1.17 ->  gitlab_12.1.17
	12.10.14 -> gitlab_12.10.14
	13.0.14 ->  gitlab_13.0.14
	13.1.11 ->  gitlab_13.1.11
	13.8.8 ->   gitlab_13.8.8
	13.12.15 -> gitlab_13.12.15
	14.0.11 ->  gitlab_14.0.11
	14.1.8 ->   gitlab_14.1.8
	14.2.6 ->   gitlab_14.2.6

	#依次下载 下载哪个版本 XXX为版本号
  1. 将下载好的下一个版本灌入数据 <清洗数据> 比如从11.11.8 >> 12.0.12
	docker run -d \
	 --hostname 10.10.10.246 \
	 --publish 7001:443 --publish 7777:80 --publish 7003:22 --name gitlab_12.0.12 \
	 --volume /home/gitlab/config:/etc/gitlab \
	 --volume /home/gitlab/logs:/var/log/gitlab \
	 --volume /home/gitlab/data:/var/opt/gitlab \
	gitlab/gitlab-ce:12.0.12-ce.0

	# 当前命令和11.11.8gitlab运行的命令差异仅在于两处 
	--name 容器的名称  
	gitlab/gitlab-ce:12.0.12-ce.0  镜像的名称
	--volume 参数里面用到的数据仍然是11.11.8的数据 
	也就是用高版本的镜像兼容低版本的数据
	##### 下面依次进行升级

这里我遇到的坑

最好每个大版本升级后再执行一次备份,并把备份移出原有备份文件夹<每一个字都是血泪 🤣>
移出是因为下个版本升级会将版本文件覆盖 别问我是怎么知道的

  1. 升级结束 如下图:
    请添加图片描述
  2. 你以为完了嘛?本地SSH更新了吗?
新版本服务器已迁移(原账号密码登录) 但需要更新ssh,步骤如下
1. 清空旧密钥
    ```
        C:\Users\用户\用户名\.ssh 文件夹内文件全部清空
    ```

2.	git bash生成新的密钥 [123替换成自己的邮箱]
    ```
        ssh-keygen -t rsa -C "123456789@qq.com" #生成密钥
        cat ~/.ssh/id_rsa.pub # 复制密钥
    ```
3.	往服务器绑定密钥 
    ```
        登录246服务器 >> 头像 >> 用户设置 >> SSH密钥 >> 添加SSH密钥
    ```
4.	本地项目指向新服务器地址
    ```
        git remote -v  # 查看当前服务器指向地址
        git remote set-url origin "新服务器ssh路径"  # 更改为新的服务器地址
    ```
  1. 如果你还有遇到坑 欢迎提问 祝你好运😎
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值