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…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
前端工具库lodash与lodash-es区别详解
lodash 和 lodash-es 是同一工具库的两个不同版本,核心功能完全一致,主要区别在于模块化格式和优化方式,适合不同的开发环境。以下是详细对比: 1. 模块化格式 lodash 使用 CommonJS 模块格式(require/module.exports&a…...
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...
