Gitlab 12.3.5升级至14.6.2 RPM方式升级

Rmp安装方式升级,非yum

可通过 rpm -qa gitlab-ce 确认安装方式

环境

Centos: CentOS Linux release 7.6.1810 (Core)

Gitlab: 12.3.5 CE 【已汉化】

内核:3.10.0-1127.19.1.el7.x86_64

安装方式: rmp rpm -qa gitlab-ce

安装源:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

Gitlab查看版本:https://domain.com/help


升级路线

12.3.5 -> 12.10.14 -> 13.0.14 -> 13.1.11 -> 13.8.8 -> 13.12.15 -> 14.0.12 -> 14.4.2 -> 14.6.2


502异常

在没有任何操作的情况下,报error 502,未知原因

image.png

未排查到原因,但是成功解决,解决方案:

systemctl stop gitlab-runsvdir.service
gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start
gitlab-ctl status


备份/创建文件夹

  1. 创建备份文件夹及安装包文件夹
mkdir /gitlab
mkdir /gitlab_backup

  1. 配置gitlab
vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = "/gitlab_backup"  # 备份的目录
gitlab_rails['backup_archive_permissions'] = 0644  # 备份包(tar格式压缩包)的权限
gitlab_rails['backup_keep_time'] = 604800  # 备份的保留时间,单位是秒
gitlab-ctl reconfigure  # 重载配置,使之生效

  1. 开始备份
gitlab-rake gitlab:backup:create
cp /etc/gitlab/gitlab.rb /gitlab_backup
cp /etc/gitlab/gitlab-secrets.json /gitlab_backup

升级基准[必看]

  1. 升级前需要先停止gitlab
  2. 每次升级后,需要查看是否正常,不能在未核对的情况下连续升级!

12.3.5=>12.10.14

  1. 下载rmp安装包
cd /gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.10.14-ce.0.el7.x86_64.rpm --no-check-certificate

  1. 移除并安装
gitlab-ctl stop
rpm -evh `rpm -qa gitlab-ce`
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:gitlab-ce-12.3.5-ce.0.el7      ################################# [100%]
rpm -ivh gitlab-ce-12.10.14-ce.0.el7.x86_64.rpm
gitlab-ctl start
gitlab-ctl status
gitlab-ctl reconfigure
gitlab-ctl restart 

  1. 核对版本
[root@VM-16-13-centos gitlab]# rpm -qa gitlab-ce
gitlab-ce-12.10.14-ce.0.el7.x86_64
[root@VM-16-13-centos gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
12.10.14 

  1. 访问前端页面,正常展示代码仓即可

12.10.14=>13.0.14

  1. 升级postgresql数据库
gitlab-ctl pg-upgrade
gitlab-psql -c "SELECT relname, last_analyze, last_autoanalyze FROM pg_stat_user_tables WHERE last_analyze IS NULL AND last_autoanalyze IS NULL;"
gitlab-psql -c 'SET statement_timeout = 0; ANALYZE VERBOSE;'

  1. 下载rmp安装包
cd /gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.0.14-ce.0.el7.x86_64.rpm --no-check-certificate

  1. 移除并安装
gitlab-ctl stop
rpm -evh `rpm -qa gitlab-ce`
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:gitlab-ce-12.10.14-ce.0.el7      ################################# [100%]
rpm -ivh gitlab-ce-13.0.14-ce.0.el7.x86_64.rpm
gitlab-ctl start
gitlab-ctl status
gitlab-ctl reconfigure
gitlab-ctl restart 

  1. 【可选 方案1】出现502时,执行该代码
vim /etc/gitlab/gitlab.rb
puma['port'] = 8180  #取消该注释,端口改为未占用端口,重新配置启动
gitlab-ctl start
gitlab-ctl reconfigure
gitlab-ctl restart 

  1. 【可选 方案2】出现502时,执行该代码

    1. 12.10.14 → 13.0.14,升级后,如果 web 访问出现 500 错误时,可能是 unicorn 占用端口,puma 无法启动。
    • 首先注意,12 版的 unicorn 组件被 13 版的 puma 取代。

    • netstat -anltp | grep 8080查看 8080 端口目前哪个组件再用。

    • 如果是 unicorn ,ps -aux | grep unicorn获取 pid 后,将其 kill 掉。

    • gitlab-ctl restart puma,重启组件后,查看 8080 是否为 puma 在用,是的话,此问题解决。

      1. 13 版本 unicorn 被puma 取代,14 版本将删除 unicorn 组件,所以13 版本 /etc/gitlab/gitlab.rb配置文件中的,有关遗留 unicorn 配置需修改为 puma 的配置。如果未修改做,13 升级 14 的话,可能出现报错如下:
  2. 核对版本

[root@VM-16-13-centos gitlab]# rpm -qa gitlab-ce
gitlab-ce-13.0.14-ce.0.el7.x86_64
[root@VM-16-13-centos gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
13.0.14 

  1. 访问前端页面,正常展示代码仓即可

13.0.14=>13.1.11

  1. 下载rmp安装包
cd /gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.11-ce.0.el7.x86_64.rpm --no-check-certificate

  1. 移除并安装
gitlab-ctl stop
rpm -evh `rpm -qa gitlab-ce`
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:gitlab-ce-13.0.14-ce.0.el7      ################################# [100%]
rpm -ivh gitlab-ce-13.1.11-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure
gitlab-ctl start 

  1. 核对版本
[root@VM-16-13-centos gitlab]# rpm -qa gitlab-ce
gitlab-ce-13.1.11-ce.0.el7.x86_64
[root@VM-16-13-centos gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
13.1.11 

  1. 访问前端页面,正常展示代码仓即可

升级13.8.8+前置要求【postgresql V12】

GitLab 13.3 及更高版本
从 GitLab 13.3 开始,PostgreSQL 11.7 和 12.3 都随 Omnibus 一起提供。在包升级过程中,数据库不会升级到 PostgreSQL 12。如果你想升级到 PostgreSQL 12,你必须手动进行:
sudo gitlab-ctl pg-upgrade -V 12


GitLab 13.7 及更高版本
从 GitLab 13.7 开始,新安装将默认为 PostgreSQL 12。
现有实例可以通过以下方式手动更新:
sudo gitlab-ctl pg-upgrade -V 12


如果不确定当前版本,可执行升级命令【在13.0.14的时候,执行过升级的,可以跳过】

gitlab-ctl pg-upgrade -V 12

13.1.11=>13.8.8

  1. 下载rmp安装包
cd /gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.8.8-ce.0.el7.x86_64.rpm --no-check-certificate

  1. 移除并安装
gitlab-ctl stop
rpm -evh `rpm -qa gitlab-ce`
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:gitlab-ce-13.1.11-ce.0.el7      ################################# [100%]
rpm -ivh gitlab-ce-13.8.8-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure
gitlab-ctl start 

  1. 核对版本
[root@VM-16-13-centos gitlab]# rpm -qa gitlab-ce
gitlab-ce-13.8.8-ce.0.el7.x86_64
[root@VM-16-13-centos gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
13.8.8

  1. 访问前端页面,正常展示代码仓即可

13.8.8=>13.12.15

  1. 下载rmp安装包
cd /gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.12.15-ce.0.el7.x86_64.rpm --no-check-certificate

  1. 移除并安装
gitlab-ctl stop
rpm -evh `rpm -qa gitlab-ce`
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:gitlab-ce-13.8.8-ce.0.el7      ################################# [100%]
rpm -ivh gitlab-ce-13.12.15-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure
gitlab-ctl start 

  1. 核对版本
[root@VM-16-13-centos gitlab]# rpm -qa gitlab-ce
gitlab-ce-13.12.15-ce.0.el7.x86_64
[root@VM-16-13-centos gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
13.12.15

  1. 访问前端页面,正常展示代码仓即可

13.12.15=>14.0.12

  1. 下载rmp安装包
cd /gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.12-ce.0.el7.x86_64.rpm --no-check-certificate

  1. 移除并安装
gitlab-ctl stop
rpm -evh `rpm -qa gitlab-ce`
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:gitlab-ce-13.12.15-ce.0.el7      ################################# [100%]
rpm -ivh gitlab-ce-14.0.12-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure
gitlab-ctl start 

  1. 核对版本
[root@VM-16-13-centos gitlab]# rpm -qa gitlab-ce
gitlab-ce-14.0.12-ce.0.el7.x86_64
[root@VM-16-13-centos gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
14.0.12

  1. 访问前端页面,正常展示代码仓即可

14.0.12=>14.4.2

  1. 下载rmp安装包
cd /gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.4.2-ce.0.el7.x86_64.rpm --no-check-certificate

  1. 代码仓数据备份
    1. 首先,检查您是否遵循了14.2 版本特定的升级说明。如果有,您可以手动完成批量后台迁移。如果还没有,请选择以下方法之一:
      • 在更新到 14.2+ 之前回滚和升级所需的版本之一。
      • 前滚,保持当前版本并手动确保批量迁移成功完成
    2. 开始备份
gitlab-rake db:migrate
#加载配置:
gitlab-ctl reconfigure
gitlab-ctl status
gitlab-ctl restart

  1. 移除并安装
gitlab-ctl stop
rpm -evh `rpm -qa gitlab-ce`
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:gitlab-ce-14.0.12-ce.0.el7      ################################# [100%]
rpm -ivh gitlab-ce-14.4.2-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure
gitlab-ctl start 

  1. 核对版本
[root@VM-16-13-centos gitlab]# rpm -qa gitlab-ce
gitlab-ce-14.4.2-ce.0.el7.x86_64
[root@VM-16-13-centos gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
14.4.2

  1. 访问前端页面,正常展示代码仓即可

14.4.2=>14.6.2

  1. 下载rmp安装包
cd /gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.6.2-ce.0.el7.x86_64.rpm --no-check-certificate

  1. 移除并安装
gitlab-ctl stop
rpm -evh `rpm -qa gitlab-ce`
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:gitlab-ce-14.4.2-ce.0.el7      ################################# [100%]
rpm -ivh gitlab-ce-14.6.2-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure
gitlab-ctl start 

  1. 核对版本
[root@VM-16-13-centos gitlab]# rpm -qa gitlab-ce
gitlab-ce-14.6.2-ce.0.el7.x86_64
[root@VM-16-13-centos gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
14.6.2

  1. 访问前端页面,正常展示代码仓即可

你可能感兴趣的:(Gitlab 12.3.5升级至14.6.2 RPM方式升级)