gitLab更新11.11.3->16.1.5
gitlab当前版本11.11.3 postgreSQL当前版本 9.6.11
gitlab升级顺序
11.11.3 -》 12.0.12 -》 12.10.14 -》13.0.14 -》 13.1.11 -》13.8.8 -》13.12.15
-》14.0.12 —》 14.3.6 -》 14.9.5 -》 14.10.5 -》 15.0.5 -》 15.1.6 -》 15.4.6
-》 15.11.13 -》 16.0.X —》 16.1 -》 16.2.X -》 16.3 -》 16.Y.Z
可以参照官方顺序Upgrading GitLab | GitLab
理解:每次更新都是按照每个版本中最大的版本去更新。例如:12.0.12就是12.0.X中最大的版本、12.10.14是12.10.X中最大的版本
注意事项
1.在升级到GitLab 14.0之前(即在13.12.15时完成升级到12),必须升级到PostgreSQL 12。(实际升级过程,PostgreSQL自动升级了,没有去额外的去操作)
2.所以我们需要在13.X的最后一个版本,当前13系列最后一个版本为:13.12.15 ,将传统存储转换为哈希存储(本人并未去处理哈希存储,依旧更新成功)
如出现该问题可以参考:哈希存储转换问题
https://blog.csdn.net/wjplj/article/details/125908203
每次升级前的准备工作
1.关闭防火墙 systemctl status firewalld.service(查看防火墙状态命令)
2.验证通用配置 sudo gitlab-rake gitlab:check(这一步很重要可以避免很多问题)
3.GitLab网页验证
4.执行备份操作 --保存的tar文件 在 /var/opt/gitlab/backups
4.1备份命令:(本人并未去备份,因为发现在更新版本时会自己备份数据)
GitLab 12.2以后:gitlab-backup create GitLab
12.1及以前:gitlab-rake gitlab:backup:create
4.2手工备份的文件:(该操作很重要,如果更新出现问题,需要版本回退并恢复数据时,这两个文件必不可少。)
/etc/gitlab/gitlab-secrets.json
/etc/gitlab/gitlab.rb
4.3恢复操作(备份和恢复需要相同的GitLab版本):
1.关闭数据库连接服务 gitlab-ctl stop unicorn/puma && gitlab-ctl stop sidekiq (注意gitlab在某个版本之后就不再使用unicorn,而是使用puma)
2.手工恢复gitlab-secrets.json文件与gitlab.rb
3.cd /var/opt/gitlab/backups(进入备份的文件目录下)
4.执行备份命令gitlab-rake gitlab:backup:restore BACKUP=?(?代表备份的文件名,但是只要前面时间戳+版本号那一段)
5.下载目标版本的RPM包
法一:输入命令:wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/?(本人未尝试)
法二:直接去Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror下载。然后上传到服务器。
升级gitlab
1.gitlab-ctl stop unicorn/puma
2.gitlab-ctl stop sidekiq
3.gitlab-ctl stop nginx
开始升级:
4.rpm -Uvh gitlab-ce-12.1.17-ce.0.el7.x86_64.rpm (执行该命令需要在放RPM包的目录下)
5.gitlab-ctl reconfigure
6.gitlab-ctl restart
查看版本
查看postgreSQL版本:/opt/gitlab/embedded/bin/psql --version
查看gitlab版本:cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
版本回退
1.停止服务 gitlab-ctl stop
2.卸载当前版本
gitlab-ctl uninstall
yum remove gitlab-ce
3.安装旧版本 rpm -ivh gitlab-ce-15.4.5-ce.0.el7.x86_64.rpm(rpm -ivh表示安装 rpm -Uvh表示更新版本)
4.恢复数据 (若需要可以使用一下恢复数据,具体看上面提及的恢复操作)
gitlab-rake gitlab:backup:restore BACKUP=1234567890_2020_11_20_15.4.5
gitlab管理员密码修改
Step 1: 停止GitLab的Web服务
使用以下命令停止GitLab的Web服务:
sudo gitlab-ctl stop unicorn/puma (有些版本使用的是unicorn/有些使用的是puma)
sudo gitlab-ctl stop sidekiq
Step 2: 重置管理员密码
使用以下命令重置管理员密码:
sudo gitlab-rake gitlab:password:reset USERNAME=root
请注意,该命令中的USERNAME参数应替换为您的管理员账号名称。当系统提示您输入新密码时,请输入新的管理员密码。
Step 3: 启动GitLab的Web服务
使用以下命令启动GitLab的Web服务:
sudo gitlab-ctl start unicorn/puma
sudo gitlab-ctl start sidekiq
更新过程中出现的数据迁移问题
本人直接版本回退,重新更新。(所以出现该问题可能原因是操作失误)
参考
1.Gitlab升级报错一:rails_migration[gitlab-rails] (gitlab::database_migrations line 51)_gitlab升级失败-CSDN博客
2.数据迁移问题-WinFrom控件库|.net开源控件库|HZHControls官网
参考文献:
1.gitlab从11.11.3升级至13.4.2_gitlab-ctl pg-upgrade -v-CSDN博客
2.GitLab中的备份 - Go语言中文社区
3.Gitlab运维(初级)之Gitlab安装_小仲码还是要敲代码的博客-CSDN博客
4.Linux安装gitlab(yum方式、rpm方式)_旧城ck的博客-CSDN博客
5.Gitlab升级_勇敢的打工人.的博客-CSDN博客
6.gitlab升级_gitlab升级路径_wskr~的博客-CSDN博客
7.从gitlab12.6.4升级到gitlab15.11.7_gitlab版本-CSDN博客
8.GitLab基础:备份与恢复指南_gitlab 恢复备份-CSDN博客
9.gitlab备份与还原:配置文件解读、定时备份、云备份_/etc/gitlab/gitlab.rb_学亮编程手记的博客-CSDN博客10.gitlab 13.x 升级至 14.x 哈希存储转换问题_gitlab-rake gitlab:storage:legacy_projects * found_wjplj的博客-CSDN博客
相关文章:
gitLab更新11.11.3->16.1.5
gitlab当前版本11.11.3 postgreSQL当前版本 9.6.11 gitlab升级顺序 11.11.3 -》 12.0.12 -》 12.10.14 -》13.0.14 -》 13.1.11 -》13.8.8 -》13.12.15 -》14.0.12 —》 14.3.6 -》 14.9.5 -》 14.10.5 -》 15.0.5 -》 15.1.6 -》 15.4.6 -》 15.11.13 -》 16.0.X —》 16.…...
12-k8s-HPA自动扩缩容
文章目录 一、k8s弹性伸缩类型二、HPA原理三、metrics-server插件四、创建nginx提供负载测试五、部署HPA master操作即可 一、k8s弹性伸缩类型 Cluster-Autoscale: 集群容量(node数量)自动伸缩,跟自动化部署相关的,依赖iaas的弹性伸缩,主要用…...
从十月稻田,看大米为何能卖出200亿市值?
国无农不稳,民无粮不安。新时代的农村农民,需要现代化的农业作依托,而在农业现代化的过程中,品牌化、数字化成为至关重要的一环。 金秋十月,从南到北,从东到西,中国农村的每一块土地都洋溢着丰…...
功能集成,不占空间,同为科技TOWE嵌入式桌面PDU超级插座
随着现代社会人们生活水平的不断提高,消费者对生活质量有着越来越高的期望。生活中,各式各样的电气设备为我们的生活带来了便利,在安装使用这些用电器时,需要考虑电源插排插座的选择。传统的插排插座设计多暴露于空间之中…...
使用pdf.js预览pdf文件时如何兼容chrome66版本
最近在做一个需求,在PC端实现预览pdf文件的功能,但是要最低兼容chrome的66版本,因为公司用的chrome浏览器最低版本就是66版本。 现在下载PDF.js(链接:https://mozilla.github.io/pdf.js/) 下载下来的版本是…...
一篇文章讲明白double、float丢失精度的问题
1.背景 1.10.1 1.2000000000000002 发现上面计算的值竟然和数学计算不一致 2. 问题 计算机是通过二进制计算的,如果我们在二进制的视角来看待上面问题,就很容易发现问题了。 例如:把「0.1」转成二进制的表示,然后还原成十进制&…...
Day 2 Qt
#include "my_widget.h" #include "ui_my_widget.h"My_Widget::My_Widget(QWidget *parent): QWidget(parent), ui(new Ui::My_Widget) {ui->setupUi(this);//窗口的相关设置 // this -> resize(800,500);this -> setWindowTitle("QQ聊天…...
ArmSoM-W3之RK3588 MPP环境配置
1. 简介 瑞芯微提供的媒体处理软件平台(Media Process Platform,简称 MPP)是适用于瑞芯微芯片系列的 通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理,其目的是为了屏蔽不 同芯片的差异,为使用者…...
【C++ 拷贝构造函数详解】
在 C 编程中,拷贝构造函数是一个重要的概念,用于创建一个对象的副本。拷贝构造函数允许你在不改变原始对象的情况下创建一个新的对象,这在很多情况下非常有用。在本篇博客中,我们将详细讨论 C 拷贝构造函数的用法和实现。 什么是…...
[计算机提升] 用户和用户组
1.1 用户和用户组 1.1.1 用户 用户账户是计算机操作系统中用于标识和管理用户身份的概念。 每个用户都拥有一个唯一的用户账户,该账户包含用户的登录名、密码和其他与用户身份相关的信息。 用户账户通常用于验证用户身份,并授权对系统资源的访问权限。…...
开路、断路和短路区别
文章目录 开路和断路击穿电源短路、用电器短路、对地短路和对电源短路 开路和断路 开路和断路是电路中两种用于描述电流流动情况的状态。 两者易混淆,常被混淆使用,但是它们还是有所不同。 开路表示电路中存在一个断链,电流无法从一个点流到…...
springBoot web开发自动配置和默认效果
web开发自动配置和默认效果 自动配置默认配置 自动配置 绑定了配置文件的一堆配置项 1、springMVC的所有配置 spring.mvc 2、Web场景通用配置 spring.web 3、文件上传配置 spring.servlet.multipart 4、服务器的配置serve: 比如:编码方式等 默认配置 重要…...
论文阅读:Efficient Point Cloud Segmentation with Geometry-Aware Sparse Networks
来源:ECCV2022 链接:Efficient Point Cloud Segmentation with Geometry-Aware Sparse Networks | SpringerLink 0、Abstract 在点云学习中,稀疏性和几何性是两个核心特性。近年来,为了提高点云语义分割的性能,人们提…...
1-k8s1.24-底座搭建-基于containerd
文章目录 一、服务器准备二、安装Containerd三、安装k8s四、安装部署dashboard ps:第一遍搭建ks8的时候,由于k8s在1.24版本之后就放弃了对docker的支持,如果要继续使用docker需要自己加载插件。所以一开始就是直接使用 k8s1.24containerd进行…...
Java文件前后端上传下载工具类
任何非压缩格式下载 package com.pisx.pd.eco.util;import java.io.*; import java.util.Collections; import java.util.HashMap; import java.util.Map;import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse;import org.springframewo…...
内燃机可变气门驱动研究进展
Review of Advancement in Variable Valve Actuation of Internal Combustion Engines AbstractIntroduction燃烧和气体交换需要电子控制 paper Abstract 近年来,人们对空气污染和能源使用的日益关注导致了车辆动力总成系统的电气化。 另一方面,一个多世…...
NEFU离散数学实验2-容斥原理
相关概念 离散数学中的容斥原理是一种使用集合运算的技巧,通常用于计算两个或更多集合的并集或交集的大小。以下是一些与容斥原理相关的常见概念和公式。 概念: 1. 集合:由元素组成的对象,通常用大写字母表示,如A、B、…...
解决Windows内存溢出/占满死机问题-PoolMon工具
某一天, 工作所用笔记本突然越来越卡直至死机 以为只是windows11的抽风行为,之前就因为windows11资源管理器经常卡死(后升级小版本好多了)。 遂长按电源键强制关机重启。 然慢慢又越来越卡,直至卡死,无…...
【ROS】ros-noetic和anaconda联合使用【教程】
【ROS】ros-noetic和anaconda联合使用【教程】 文章目录 【ROS】ros-noetic和anaconda联合使用【教程】1. 安装anaconda2. 创建虚拟环境3. 查看python解释器路径4. 在虚拟环境中使用任意的包5. 创建工作空间和ros功能包进行测试Reference 1. 安装anaconda 在Ubuntu20.04中安装…...
自动化RPA开发 --获取所有窗口信息和进程信息
场景 准备做一个RPA工具,可以从桌面和浏览器选择元素,获取窗口信息和进程信息是必要的,因为获取了窗口信息和进程,可用对程序做一些想要的操作。 coding 工具类 /*** Windows系统工具类*/ public class WinOsUtils {static fi…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
Pydantic + Function Calling的结合
1、Pydantic Pydantic 是一个 Python 库,用于数据验证和设置管理,通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发(如 FastAPI)、配置管理和数据解析,核心功能包括: 数据验证:通过…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...
