美文网首页
Gitlab跨版本升级

Gitlab跨版本升级

作者: poneding | 来源:发表于2020-06-16 16:42 被阅读0次

本文记录Gitlab跨版本升级的具体操作过程。

按照官方的说法,gitlab允许小版本直接升级,大版本需要阶段升级。

跨版本升级示例:11.0.x -> 11.11.x -> 12.0.x -> 12.10.x -> 13.0.x

官方推荐的升级路线文档:https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations

目的

实现gitlab版本:11.2.3到13.0.0版本的升级,我选择的升级路线是:11.2.3 => 11.11.8 => 12.0.12 => 12.10.6

我当前创建gitlab容器的脚本如下:

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 8443:443 --publish 8080:80 --publish 8022:22 \
  --name gitlab \
  --restart always \
  --volume /home/ubuntu/Apps/gitlab/etc/gitlab:/etc/gitlab \
  --volume /home/ubuntu/Apps/gitlab/var/log/gitlab/logs:/var/log/gitlab \
  --volume /home/ubuntu/Apps/gitlab/var/opt/gitlab:/var/opt/gitlab \
  gitlab/gitlab-ce:11.2.3-ce.0

我当前的gitlab容器已经将/etc/gitlab/var/log/gitlab/var/opt/gitlab挂载到了宿主机上。

操作步骤

进入gitlab容器,停止gitlab服务,然后退出容器:

sudo docker exec -it gitlab /bin/bash
# 进入容器后执行
gitlab-ctl stop

退出容器后,删除gitlab容器:

sudo docker rm gitlab -f

使用新版本的脚本运行gitlab容器,这里只修改gitlab的镜像版本就可以了:

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 8443:443 --publish 8080:80 --publish 8022:22 \
  --name gitlab \
  --restart always \
  --volume /home/ubuntu/Apps/gitlab/etc/gitlab:/etc/gitlab \
  --volume /home/ubuntu/Apps/gitlab/var/log/gitlab/logs:/var/log/gitlab \
  --volume /home/ubuntu/Apps/gitlab/var/opt/gitlab:/var/opt/gitlab \
  gitlab/gitlab-ce:11.2.3-ce.0

启动容器后,查看容器运行状态:

sudo docker ps | grep gitlab

等到容器状态为Up xxx (healthy)后,进入容器,停掉gitlab服务。。。

后面就是重复工作了,直到运行最新版本的gitlab容器。

Gitlab备份

在升级之前,最好先对gitlab数据做一个全量备份,避免升级失败造成的不可逆影响。

具体的还原操作如下:

如果你和我一样使用gitlab容器,首先进入容器,然后执行备份命令:

gitlab-ctl gitlab:backup:create

以上命令执行完后,会在容器的/var/opt/gitlab/backups目录下创建文件名类似1592276197_2020_06_16_11.2.3_gitlab_backup.tar的备份文件。

Gitlab还原

如果你想利用gitlab的备份文件还原,那么你运行还原操作的gitlab必须和备份时使用的gitlab版本一致,否则可能会出现还原失败的问题。

具体的还原操作如下:

如果你和我一样使用gitlab容器,首先将gitlab的备份文件拷贝到/var/opt/gitlab/backups/目录下,然后进入gitlab容器,执行还原命令:

gitlab-ctl gitlab:backup:restore BACKUP=1592276197_2020_06_16_11.2.3

BACKUP命令参数指定值为/var/opt/gitlab/backups/目录下的备份文件,但是无需携带_gitlab_backup.tar后缀。

相关文章

  • Gitlab跨版本升级

    本文记录Gitlab跨版本升级的具体操作过程。 按照官方的说法,gitlab允许小版本直接升级,大版本需要阶段升级...

  • GitLab跨版本升级

    公司使用的gitlab版本比较低还是8版本,目前最新13版本了,很多功能都缺少跨版本升级顺序:当前版本--->当前...

  • Gitlab CE 8.9 升级/迁移到GitLab CE 9.

    这篇文章不记录Gitlab的使用方法,更不说明Gitlab的特性,只记录的升级步骤以及遇到的问题。由于升级的版本跨...

  • gitlab 跨版本升级至docker

    2、 更换镜像源(如果系统没有更新镜像源) 3、安装一个和线上同版本的gitlab 4、恢复备份文件 5、由于gi...

  • GitLab版本升级

    注意:(个人学习使用,不喜勿喷,欢迎指错) (1)gitLab版本升级,是先小版本升级到最高版本,在升级到下一个大...

  • gitlab版本升级

    之前手残,随便装了一个gitlab 10.0.0的版本。发现这个版本还不能看runner在哪个机器上面跑,于是需要...

  • Gitlab版本升级

    Gitlab docker部署命令 停服务,准备备份,防止升级期间有研发同学提交代码 备份文件 删除docker ...

  • GitLab升级记录-12.10.0->13.0.6(Docke

    升级准备工作 确定升级路线 现有版本:12.10.0-ce.0 最新版本:13.0.6 结合 Gitlab升级路线...

  • PostgreSQL升级方案

    PostgreSQL在默认情况下,是不能跨版本升级的(9.4, 9.5, 9.6等等这些版本跨版本升级。小版本更新...

  • docker方式部署的gitlab跨版本迁移升级

    当前版本是10.8.7 建议进入容器操作,我尝试过直接在外部执行备份恢复,由于项目多,时间太长,会导致失败 一定要...

网友评论

      本文标题:Gitlab跨版本升级

      本文链接:https://www.haomeiwen.com/subject/ljerxktx.html