基于docker方式部署的gitlab迁移及跨版本升级

本文详细记录了在Docker环境下,从beginor/gitlab-ce:11.3.0-ce.0版本升级到gitlab/gitlab-ce:12.4.1-ce.0的过程,包括数据备份、恢复、多版本逐步升级等步骤,并分享了在升级过程中遇到的问题及解决方案,确保了GitLab服务的稳定迁移。

之前代码服务器用的 beginor/gitlab-ce:11.3.0-ce.0 的版本,而当前时间已经到12.4.1了。

gitlab 官方已经开始支持多语言, 而且也提供了 docker 镜像, beginor/gitlab-ce 的镜像作者已经不再维护,也建议大家切换到官方镜像。

所以打算整理下迁移升级的步骤。

  1. 首先连接上docker beginor/gitlab-ce:11.3.0-ce.0的容器
  docker exec -i -t gitlab /bin/bash

在gitlab正常运行的情况下,输入命令 gitlab-rake gitlab:backup:create 备份gitlab,完成后生成在 /usr/local/docker/gitlab/backups/文件夹(即gitlab数据卷目录)下 1619595362_2021_04_28_11.1.4_gitlab_backup.tar。

完成备份后,需要将文件复制出来留作备份。

① gitlab-ctl stop 停止gitlab全部服务

② exit 退出容器执行

③ docker stop gitlab 停止容器

  1. 把备份文件上传到新服务器的gitlab数据卷backups目录中

docker pull gitlab/gitlab-ce:11.3.0-ce.0 拉取官方的相同版本进行数据恢复操作

docker run \
--privileged=true \
--hostname 192.168.0.2 \
--detach \
--publish 80:80 \
--publish 443:443 \
--publish 22:22 \
--name gitlab \
--restart unless-stopped \
--volume /home/inxworld/gitlab/config:/etc/gitlab \
--volume /home/inxworld/gitlab/log:/var/log/gitlab \
--volume /home/inxworld/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:11.3.0-ce.0

docker exec -i -t gitlab /bin/bash 进入dokcer 容器 gitlab

gitlab-rake gitlab:backup:restore BACKUP=1619595362_2021_04_28_11.1.4 恢复备份

完成后访问WEB检查了下没有什么问题。

  1. 跨大版本升级

官方的升级路线指南 https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations (反正我只是偶尔成功打开过一次,其他时间都是无法访问)

我的升级路径为:

     gitlab/gitlab-ce:11.3.0-ce.0  (当前的版本)->  gitlab/gitlab-ce:11.3.4-ce.0    ->   gitlab/gitlab-ce:11.11.8-ce.0   ->   gitlab/gitlab-ce:12.0.12-ce.0   ->    gitlab/gitlab-ce:12.4.1-ce.0 

先把需要的拉取回来

docker pull gitlab/gitlab-ce:11.3.4-ce.0
docker pull gitlab/gitlab-ce:11.11.8-ce.0
docker pull gitlab/gitlab-ce:12.0.12-ce.0
docker pull gitlab/gitlab-ce:12.4.1-ce.0

基本过程都是

 1.     docker exec -i -t gitlab /bin/bash  进入dokcer 容器 gitlab 

2.    gitlab-ctl stop:停止全部服务

3.    exit退出容器

4.    docker stop gitlab  停止dokcer 容器 gitlab ,再删除docker rm gitlab

5.    
docker run \
--privileged=true \
--hostname 192.168.0.2 \
--detach \
--publish 80:80 \
--publish 443:443 \
--publish 22:22 \
--name gitlab \
--restart unless-stopped \
--volume /home/inxworld/gitlab/config:/etc/gitlab \
--volume /home/inxworld/gitlab/log:/var/log/gitlab \
--volume /home/inxworld/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:11.3.0-ce.0    -----------------注意修改这个位置
  6.漫长等待升级完成以后,登陆网站看看基本功能是否正常。

  7.循环1-6步骤,直到最新版本

我按这个升级的路线,走完以后,大概看了下看了下完成后的gitlab!没遇到什么问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值