当前版本14.3.4,分享下Omnibus和docker两种部署方式下如何升级到最新版本
升级路线: 极狐14.3.4 -> 极狐14.9.5 -> 极狐14.10.5 -> 极狐15.0.5 -> 极狐latest
1、docker部署
不论是gitlab-ce还是极狐gitlab都不能跨很多版本升级,如我这个14.3.4的极狐gitlab不能直接升级到最新版
1–旧数据备份
低版本的备份文件不能恢复到高版本gitlab上,重新部署高版本再导入备份的方案不可行
进入容器执行备份指令
docker exec -it gitlab /bin/bash
gitlab-rake gitlab:backup:create
将这三个文件从容器中拷贝出来备份
mkdir gitlab-backups
docker cp gitlab:/var/opt/gitlab/backups/1660236646_2022_08_11_14.3.4_gitlab_backup.tar gitlab-backups/1660236646_2022_08_11_14.3.4_gitlab_backup.tar
docker cp gitlab:/etc/gitlab/gitlab.rb gitlab-backups/gitlab.rb
docker cp gitlab:/etc/gitlab/gitlab-secrets.json gitlab-backups/gitlab-secrets.json
2–停止当前版本的容器
不要删除,至少保留一个最近可用的旧版本,发生异常可以用备份的文件恢复
docker stop gitlab-jh-14-3-4
3–启动下一个版本,如此重复直到目标版本
docker run --detach --publish 7443:443 --publish 7080:80 --publish 7022:22 --name gitlab-jh-14-9-5 --restart always --volume /home/gitlab/config:/etc/gitlab --volume /home/gitlab/logs:/var/log/gitlab --volume /home/gitlab/data:/var/opt/gitlab registry.gitlab.cn/omnibus/gitlab-jh:14.9.5
已升级到最新版本,且数据还在
2、Omnibus部署
方法与docker部署类似,我的系统为CentOS7
1–旧数据备份
gitlab-rake gitlab:backup:create
备份下面的3个文件
2–停止旧实例(可选)
gitlab-ctl stop
3–升级到下一个版本,一步一步到最新版
直接升级到最新版会报错
如果按照提示直接升级到15.0.x也是会报错,所以建议按照文章开头的路线一步一步升级
①添加极狐yum源
下载脚本
wget https://packages.gitlab.cn/repository/raw/scripts/setup.sh
修改脚本内容,注释安装语句
vim setup.sh
# echo -e "\n==> Successfully added gitlab-jh repo. To install JiHu GitLab, run \"sudo yum/dnf install gitlab-jh\".\n"
执行脚本
bash setup.sh
②查看可用版本
yum list gitlab-jh --showduplicates
找到下一步的安装版本
③更新版本
yum upgrade -y gitlab-jh-14.9.5-jh.0.el7
参考:
https://docs.gitlab.com/ee/update/index.html#upgrading-to-a-new-major-version