此文档只讲述基于Omnibus 包安装的GitLab

修复示例:

本文采用升级gitlab版本来修复漏洞。因为gitlab官方会定期发行新版本用于修复漏洞

此升级为跨版本升级(14.10.x-ee --- 17.5.0-ee)操作系统:centos 7.9

注意:Gitlab升级不可直接进行跨版本升级,需要参考官方的升级路径规划

https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/?current=16.11.10&distro=centos

个人建议,将自己的gitlab版本升级到此大版本的最新版本在进行下一个大版本的升级

查看当前GitLab版本:

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

开始升级
1.升级过程严格按照官方给出的升级路径来升级(升级路径上面有说到)
2.之所以不进行跨版本升级,是因为可能会造成数据的丢失
3.手动备份操作只进行了一次,其实GitLab在进行升级的时候会自动进行备份。手动备份是防止自动备份失败后续升级失败可以进行回滚
4.升级只需要按照顺序执行升级规划中的版本进行升级即可

5.升级过程中可能会出现PostgreSQL 报错的问题,此时需要将PostgreSQL 进行升级才可以进行下一个版本的升级,本次升级没有遇到过次问题。此处不讲解升级过程

Gitlab修改域名

gitlab修改域名需要在gitlab的nginx配置文件中修改:/var/opt/gitlab/nginx/conf/gitlab-http.conf

但是这样子修改成功后确实访问域名会改变,但是仓库的域名没有改变。所以需要先修改gitlab的配置文件

/etc/gitlab/gitlab.ra external_url 'https://xxxxx.xxxx.com' 然后重新配置,执行gitlab-ctl reconfigure

注意:修改核心配置,执行上述命令后再修改nginx配置文件,因为重新配置后nginx配置文件会被覆盖,在配置之前修改后配置后还要再次修改

gitlab跨版本升级的更多相关文章

  1. android技巧(四)数据库跨版本升级写法

    当项目中接手的需求需要在就前数据库数据表做出修改时,不得不面对数据库表结构的更新问题.一般的sqlite数据库更新修改数据库版本号时都会自动调用SqliteOptenHelper及其子类中的onUpg ...

  2. OpenShift跨版本升级

    官方的in-place upgrade直接在线升级的参考链接 https://docs.openshift.com/container-platform/3.11/upgrading/automate ...

  3. Debian 跨版本升级

    相对于某些重量级 Linux 发行版而言,同样是通过网络跨版本升级,Debian 的升级过程总要显得轻快很多.不会因为要下载数量惊人的软件包并安装而把升级时间拉得很长,也不用担心中途某些程序崩溃退出导 ...

  4. openSUSE 跨版本升级

    准备工作 此方法通过网络跨版本升级,适合 Leap 升级到下一个发行版(如 42.2 升级到 42.3),也适合 Leap 升级为 Tumbleweed.首先必须确定升级的时候有足够的时间.靠谱的更新 ...

  5. docker方式部署的gitlab跨版本迁移升级

    之前代码服务器用的 beginor/gitlab-ce:11.3.0-ce.0 的版本,而当前时间已经到12.4.1了. gitlab 官方已经开始支持多语言, 而且也提供了 docker 镜像, b ...

  6. 生产环境的gitlab大版本升级思路(从7.x升级到8.x)

    之前在生产环境部署的gitlab是7.x版本的,提供给公司内部的员工来使用,大概有350个用户左右,gitlab从8.x版本之后内置了CI和CD的集成,所以就考虑到升级版本的问题 通过参考和总结git ...

  7. ES跨版本升级?——难道升级集群发生shard allocation是因为要分配replica节点???

    Full cluster restart upgrade Elasticsearch requires a full cluster restart when upgrading across maj ...

  8. 内网jenkins跨版本升级

    概要: 原来使用的jenkins版本为1.6,现在需要升级为最新版2.3.6 由于在内网,不能使用jenkins自带的在线升级工具 升级思路: 由于版本跨度太大,直接copy jenkins目录,启动 ...

  9. Android SQLite数据库版本升级原理解析

    Android使用SQLite数据库保存数据,那数据库版本升级是怎么回事呢,这里说一下. 一.软件v1.0 安装v1.0,假设v1.0版本只有一个account表,这时走继承SQLiteOpenHel ...

  10. android项目数据库升级跨版本管理解决方案

    目前公司android项目普遍使用框架对数据库进行操作,数据库表与数据实体都具有严格的对应的关系,但是数据库的升依赖不同版本间的升级脚本,如果应用跨多版本进行升级时,当缺失部分升级脚本时就会导致应用异 ...

随机推荐

  1. Pydantic多态模型:用鉴别器构建类型安全的API接口

    title: Pydantic多态模型:用鉴别器构建类型安全的API接口 date: 2025/3/20 updated: 2025/3/20 author: cmdragon excerpt: Py ...

  2. 在 Hugging Face Spaces 上使用 Gradio 免费运行 ComfyUI 工作流

    简介 在本教程中,我将逐步指导如何将一个复杂的 ComfyUI 工作流转换为一个简单的 Gradio 应用程序,并讲解如何将其部署在 Hugging Face Spaces 的 ZeroGPU 无服务 ...

  3. 自定义vscode 调试控制台字体颜色

    "workbench.colorCustomizations": { "debugConsole.warningForeground": "#1818 ...

  4. zk源码—4.会话的实现原理

    大纲 1.创建会话 (1)客户端的会话状态 (2)服务端的会话创建 (3)会话ID的初始化实现 (4)设置的会话超时时间没生效的原因 2.分桶策略和会话管理 (1)分桶策略和过期队列 (2)会话激活 ...

  5. 在 Go 语言中,构造一个并发安全的 map 集合

    Map 集合是 Go 中提供的一个 KV 结构的数据类型,对它的操作在实际的开发中应该是非常多的,不过它不是一个线程安全的. 1 .Map 不是线程安全的 编写下面的测试代码: func TestUn ...

  6. 一个清除数组的方法在 Kotlin、Java、C#和Nim上的性能测试

    起因 我的一个项目使用 Kotlin 编写,他是一个多维数据库应用程序,所以会非常频繁的操作 int 数组,其中有段程序就需要进行 几亿次的数组清除动作,类似这样的代码: Arrays.fill(ta ...

  7. windows下安装maven环境(windows10)

    1.下载maven https://archive.apache.org/dist/maven/maven-3/ 2.安装配置 1.解压后新建本地仓库 2.编辑apache-maven-3.0.5-b ...

  8. C/S客户端渗透_Proxifier+burpsuite代理客户端http协议数据包+reGeorg构建HTTP隧道代理

    C/S客户端渗透_Proxifier+burpsuite代理客户端https协议数据包 一个月没发文章了实在太忙了,不过学习还是不能落下的,最近要做几个CS客户端的站,需要在终端装个北信源的煞笔内网安 ...

  9. 【MOOC】华中科技大学计算机组成原理慕课答案-第二章-数据表示

    单选 1 计算机中表示地址时使用 √A. 无符号数 B. 反码 C. 原码 D. 补码 2 浮点数的表示范围和表示精确度分别取决于 A. 阶码的编码和尾数的编码 √B. 阶码的位数和尾数的位数 C. ...

  10. IDEA问题之“MyBatis插件安装【MyBatisX】”

    一.场景 在SSM框架中带有XML文件的查找很是麻烦,特别是在ID命名有大量重复时 而这个插件就可以,让你直接从Service实现类中直接跳到XML中 还有些其他功能,可以探索探索 一.配置步骤 1. ...