GitLab-ce版本升级(14.0-14.10)

背景:

GitLab 存在命令注入漏洞,该漏洞源于未经授权的用户可能使用以下命令在服务器上执行任意代码 项目导入功能。以下产品版本受到影响:14.10.5 之前的 14.0、15.0.4 之前的 15.0 和 15.1.1 之前的 15.1 开始的所有版本。

因服务器处于内网环境,使用RPM包进行手动升级


1. 升级前准备

1.1 备份

  1. 创建备份文件:
$ gitlab-rake gitlab:backup:create
会在/var/opt/gitlab/backups目录下生成备份文件-tar包

在这里插入图片描述
在这里插入图片描述 2. 最后提示gitlab.rb gitlab-secrets.json包含敏感数据,需手动备份;

/etc/gitlab     #手动备份两个文件
gitlab.rb
gitlab-secrets.json  

1.2 查看gitlab版本;

rpm -qa gitlab-ce
cat /$opt/gitlab/embedded/service/gitlab-rails/VERSION	

或登录gitlab右上角help查看
在这里插入图片描述

1.3 下载

1.官方提供版本升级顺序,跨大版本升级可能会出现意外错误。
https://docs.gitlab.com/ee/update/#linux-packages-omnibus-gitlab
在这里插入图片描述

  1. 下载
    下载地址:https://packages.gitlab.com/gitlab/gitlab-ce
    注意发行版本,我这里是el/7
    在这里插入图片描述

2. 安装

  • 整体安装命令流程,我这里升级版本从14.0.0 -> 14.3.6 -> 14.9.5 ->14.10.5
$ rpm -qa gitlab-ce                   #查看本地安装版本
$ rpm -evh gitlab-ce-14.0.0-xxx       #卸载gitlab
$ rpm -ivh gitlab-ce-14.3.6-xxx.rpm   #安装新版本gitlab
$ gitlab-ctl reconfigure              #重编译
$ gitlab-ctl start                    #启动
$ rpm -qa gitlab-ce                   #验证是否升级成功
$ ·登录前端页面,查看仓库代码是否正常
$ ·验证成功后升级下一个版本;同样的流程:
$ gitlab-ctl stop                     #关闭
$ rpm -evh gitlab-ce-14.3.6-xxx       #卸载gitlab
$ rpm -ivh gitlab-ce-14.9.5-xxx.rpm   #安装新版本gitlab
$ gitlab-ctl reconfigure              #重编译
$ gitlab-ctl start                    #启动
$ rpm -qa gitlab-ce                   #验证是否升级成功

在这里插入图片描述
在这里插入图片描述

3. 安装过程截图及问题记录

3.1 依赖错误:

  • rpm -ivh gitlab-ce-14.3.6-xxx.rpm报错;
  • 解决方法命令后加 --nodeps --force

rpm -ivh *.rpm --nodeps --force 命令解释:
-i :安装
-U :升级软件,若未软件尚未安装,则安装软件
-v :查看安装过程
-h :显示安装进度
-qa 查看所有已安装的软件包
–force :强制安装
–nodeps :不考虑相依属性的关系
在这里插入图片描述

  • gitlab-ctl reconfigure
    在这里插入图片描述
  • gitlab-ctl start 验证

3.2 500错误:

  • 第一次升级至14.3.6,可访问登录页,登录后报500
    在这里插入图片描述

  • 查看gitlab日志:
    tail -200f /var/log/gitlab/gitlab-rails/production.log
    在这里插入图片描述
    -解决方法:升级时可能跳过了数据库架构升级步骤,运行gitlab-rake db:migrate:status 检查数据库服务。可看到其中有服务down了
    在这里插入图片描述

  • 可尝试gitlab-ctl reconfigure 重编译。我这里尝试没有解决。

  • 使用命令 gitlab-rake db:migrate

  • 再次查看gitlab-rake db:migrate:status 正常
    在这里插入图片描述

3.3 502错误:

  • 访问页面时直接报502错误
    在这里插入图片描述
  • 解决方法:
$ systemctl stop gitlab-runsvdir.service
$ gitlab-ctl reconfigure
$ gitlab-ctl start gitlab-runsvdir.service
$ gitlab-ctl status
  • 遇到500或502错误可多尝试重启服务,一般情况是服务超时,登录后可在管理员页面-设置-偏好设置-Gitaly超时 中设置超时时间。最多57s。

3.4 rpm -Uvh命令错误

  • 第二次升级14.9.5版本,尝试使用 rpm -Uvh 命令直接升级软件包。升级编译失败。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

twenty-six

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值