一、确定当前版本
#进入当前版本容器产看gitlab版本
docker exec -it gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
#显示版本如下
14.4.0
二、备份数据,防止升级发生意外
#执行备份命令
docker exec -ti gitlab gitlab-rake gitlab:backup:create
#在持久化目录查看备份情况
root@git-nas:~# ll /opt/gitlab/data/backups/
-rw------- 1 998 docker 342722560 6月 5 02:18 1654366714_2022_06_04_14.4.0_gitlab_backup.tar
-rw------- 1 998 docker 559196160 6月 11 22:40 1654958434_2022_06_11_14.4.0_gitlab_backup.tar
root@git-nas:~#
三、确定升级路线
docker环境部署gitlab的升级很简单,直接基于高版本的镜像运行容器即可;
需要注意的是gitlab的升级不能跨大版本升级,详见升级路径:
https://docs.gitlab.com/ee/update/index.html#upgrade-paths
可在此链接查看gitlab-ce的docker全部镜像:
https://hub.docker.com/r/gitlab/gitlab-ce/
升级路线图如下;
从14.4.0版本升级到15.0.2版本升级路线图为
14.4.0->14.6.2->14.9.5-> 14.10.4->15.0.2
四、升级(共分4个版本升级)
1.14.4.0->14.6.2
#为了防止升级过程ssh终端造成问题,启用终端复用器tmux, 执行升级操作
#停止gitllab服务
docker stop gitlab && docker rm gitlab
#执行升级命令
docker run -d \
-p 443:443 -p 80:80 -p 22:22 \
--name gitlab --restart always \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:14.6.2-ce.0
#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab
2.14.6.2->14.9.5
#停止gitllab服务
docker stop gitlab && docker rm gitlab
#执行升级命令
docker run -d \
-p 443:443 -p 80:80 -p 22:22 \
--name gitlab --restart always \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:14.9.5-ce.0
#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab
3.14.9.5->14.10.4
#停止gitllab服务
docker stop gitlab && docker rm gitlab
#执行升级命令
docker run -d \
-p 443:443 -p 80:80 -p 22:22 \
--name gitlab --restart always \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:14.10.4-ce.0
#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab
4.14.10.4->15.0.2
#停止gitllab服务
docker stop gitlab && docker rm gitlab
#执行升级命令
docker run -d \
-p 443:443 -p 80:80 -p 22:22 \
--name gitlab --restart always \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:15.0.2-ce.0
#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab
五、web端访问gitlab服务,新版本应该已经正常
#进入当前版本容器产看gitlab版本
docker exec -it gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
#显示版本如下
15.0.2
#访问web网址:http://192.168.3.254