美文网首页
Gitlab 12.3.5升级至14.6.2 RPM方式升级

Gitlab 12.3.5升级至14.6.2 RPM方式升级

作者: 归隐小赵 | 来源:发表于2022-01-15 21:41 被阅读0次

    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方式升级

          本文链接:https://www.haomeiwen.com/subject/zejxhrtx.html