Docker部署的gitlab升级的详细步骤(升级到17.6.1版本)

文章目录

一、Gitlab提示升级信息

Gitlab的版本平常更新很平凡,过一段时间就会提示更新弹框提示。

当前使用的是 17.1.2 版本!我们强烈建议您立即升级到以下版本之一:17.6.1, 17.5.3, 17.4.5。

本文是从17.1.2 版本升级到17.6.1最新版本。

二、老版本的docker运行gitlab命令

bash 复制代码
docker pull gitlab/gitlab-ce:17.1.2-ce.0

docker run --detach \
  --name gitlab \
  --restart always \
  -p 1080:80 \
  -p 10443:443 \
  -p 1022:22 \
  -v /gitlab/config:/etc/gitlab  \
  -v /gitlab/logs:/var/log/gitlab \
  -v /gitlab/data:/var/opt/gitlab \
  --privileged=true \
  gitlab/gitlab-ce:17.1.2-ce.0

注意记着宿主机数据挂载目录!!!

三、备份老版本Gitlab数据

bash 复制代码
#执行备份命令
docker exec -it gitlab gitlab-rake gitlab:backup:create


#查看备份的数据
ll /gitlab/data/backups/

四、确定升级路线

gitlab的升级不能跨大版本升级,详见升级路径:
https://docs.gitlab.com/ee/update/upgrade_paths.html

升级路线查看工具地址:
https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/?current=17.1.2&distro=docker&edition=ce


通过上述查询结果

Docker部署的gitlab从版本17.1.2 版本升级到17.6.1的升级线路如下:

17.1.2 => 17.3.7 => 17.5.3 => 17.6.1

docker环境部署gitlab的升级很简单,直接基于高版本的镜像运行容器即可;

五、升级(共分3个版本升级)

17.3.7 => 17.5.3 => 17.6.1

分别拉取三个版本的gitlab镜像

bash 复制代码
docker pull gitlab/gitlab-ce:17.3.7-ce.0
docker pull gitlab/gitlab-ce:17.5.3-ce.0
docker pull gitlab/gitlab-ce:17.6.1-ce.0

#查看gitlab的三个镜像
docker images

5.1 升级第一步(17.1.2 => 17.3.7)

bash 复制代码
#停止gitllab服务
docker stop gitlab && docker  rm gitlab

#执行升级命令
docker run --detach \
  --name gitlab \
  --restart always \
  -p 1080:80 \
  -p 10443:443 \
  -p 1022:22 \
  -v /gitlab/config:/etc/gitlab  \
  -v /gitlab/logs:/var/log/gitlab \
  -v /gitlab/data:/var/opt/gitlab \
  --privileged=true \
  gitlab/gitlab-ce:17.3.7-ce.0

#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab

5.2 升级第二步(17.3.7 => 17.5.3)

bash 复制代码
#停止gitllab服务
docker stop gitlab && docker  rm gitlab

#执行升级命令
docker run --detach \
  --name gitlab \
  --restart always \
  -p 1080:80 \
  -p 10443:443 \
  -p 1022:22 \
  -v /gitlab/config:/etc/gitlab  \
  -v /gitlab/logs:/var/log/gitlab \
  -v /gitlab/data:/var/opt/gitlab \
  --privileged=true \
  gitlab/gitlab-ce:17.5.3-ce.0

#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab

5.3 升级第三步(17.5.3 => 17.6.1)

bash 复制代码
#停止gitllab服务
docker stop gitlab && docker  rm gitlab

#执行升级命令
docker run --detach \
  --name gitlab \
  --restart always \
  -p 1080:80 \
  -p 10443:443 \
  -p 1022:22 \
  -v /gitlab/config:/etc/gitlab  \
  -v /gitlab/logs:/var/log/gitlab \
  -v /gitlab/data:/var/opt/gitlab \
  --privileged=true \
  gitlab/gitlab-ce:17.6.1-ce.0

#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab

六、web端访问gitlab服务

新版本应该已经正常

bash 复制代码
#进入当前版本容器产看gitlab版本
docker exec -it gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

#显示版本如下
17.6.1

#访问web网址:http://xxxxxxxxxxxx

有些事不是看到了希望才去坚持 而是因为坚持才会看到希望。


相关推荐
kfepiza6 分钟前
HttpSessionListener 的用法笔记250417
java·笔记·servlet·tomcat
冬天vs不冷10 分钟前
SpringBoot条件注解全解析:核心作用与使用场景详解
java·spring boot·python
百锦再30 分钟前
Android Studio 实现自定义全局悬浮按钮
android·java·ide·app·android studio·安卓
百锦再32 分钟前
Android Studio 项目文件夹结构详解
android·java·ide·ios·app·android studio·idea
喆星时瑜41 分钟前
【Docker】运行错误提示 unknown shorthand flag: ‘d‘ in -d ----详细解决方法
运维·docker·容器
阿达King哥1 小时前
Java虚拟机(JVM)平台无关?相关?
java·jvm
不是AI1 小时前
【Java编程】【计算机视觉】一种简单的图片加/解密算法
java·算法·计算机视觉
森叶1 小时前
Java NIO & Java 虚拟线程(微线程)与 Go 协程的运行原理不同 为何Go 能在低配机器上承接10万 Websocket 协议连接
java·websocket·nio
程序员小蘇1 小时前
一天一个java知识点----Tomcat与Servlet
java·servlet·tomcat
一起屠龙2 小时前
SpringAi+MCP实现sse及stdio服务调用
docker·llm·mcp