升级
Gitlab**由于版本原因 导致漏洞被扫出,计划升级到最新版本。
1 需求 与 服务器准备:
目前版本 gitlab-ce-13.12.15
计划升级到 gitlab-ce-15.8.5
服务器版本:CentOS Linux
release 7.4 单机gitlab需要停止部分服务
2 版本升级路线:
13.12.15 -> 14.0.12 -> 14.3.6 -> 14.6.2 -> 14.9.5 -> 14.10.5 -> 15.0.5 -> 15.1.6 -> 15.4.6 -> 15.8.5
备主:Gitlab升级是不能跨大版本升级的,根据官方升级路径来操作,不然会有很多报错
3 清华源官网下载对应的版本
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
备主:不是centos7系统,网址灵活变通
3.1 下载以上所有版本rpm包、通过工具上传至服务器
4 备份
4.1 手动备份数据:gitlab-rake gitlab:backup:create
(其实升级的时候gitlab会自动备份所有数据、默认路径在/var/opt/gitlab/backups )
注意:/etc/gitlab下面的配置文件 需要手动备份。
4.2 找到配置文件注释掉unicorn、14以上版本 已经丢弃此服务,不然安装失败
vim /etc/gitlab/gitlab.rb
‘# unicorn[‘port’]’
5 开始升级
5.1 停止需要的服务(不能全部停止):
gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status
5.2 进入到rpm目录里面
yum install gitlab-ce-14.0.12-ce.0.el7.x86_64.rpm
6 安装完成后 操作:
6.1 此时需要 重新加载配置文件: gitlab-ctl reconfigure
6.2 重启各服务:gitlab-ctl restart
6.3 查看服务运行状态:gitlab-ctl status
必须等待 所有服务都是run以后才算成功
6.4 登录web页面、查看各项目是否正常恢复
6.5 至此13版本已经成功升级到14版本
8 此后按照上面的【2 版本升级路线】低版本 依次升级到最高版本,期间不能跨版本升级
【5 开始升级】到【6 安装完成后 操作】是执行操作、即可升级到gitlab-ce-15.8.5版本,亲测 期间无任何问题、
Gitlab数据迁移
备主:新建的Gitlab节点,必须是相同版本的Gitlab 才能恢复数据
1 老节点 gitlab执行:gitlab-rake gitlab:backup:create 备份数据
(默认路径在/var/opt/gitlab/backups)
2 老节点 gitlab执行:/etc/gitlab/这个路径下的配置文件手动备份
3 新节点gitlab执行:首先停止数据接收进程
gitlab-ctl stop unicorn 与 gitlab-ctl stop sidekiq
4 新节点gitlab执行: chmod 777 赋予这个文件对应的权限(备份的tar)
5 新节点gitlab执行:gitlab-rake gitlab:backup:restore BACKUP=(这个只写道数字,字母那不写,不然会找不到恢复)
如上图:gitlab-rake gitlab:backup:restore BACKUP=1708331498_2024_02_19_13.12.15
6 输入两次yes后,全部迁移完成(配置文件除外),此时使用原账号密码,所有的用户 密码 项目 以及权限 都还远回来了
7注意: 配置文件的修改或者还原之前的配置文件,重启gitlab是不生效的,需要重新加载配置文件才生效,gitlab-ctl
reconfigure
Gitlab 常用命令
关闭gitlab: # gitlab-ctl stop
启劢gitlab: # gitlab-ctl start
重启gitlab: # gitlab-ctl restart
实时日志 gitlab-ctl tail
查看指定服务日志 gitlab-ctl tail xxx
查看版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
或者 gitlab-rake gitlab:env:info