gitlab备份-迁移-升级方案9.2.7升级到15版本最佳实践

背景

了解官方提供的版本的升级方案

- GitLab 8: 8.11.Z  8.12.0  8.17.7 
- GitLab 9: 9.0.13  9.5.10    9.2.7
- GitLab 10: 10.0.7  10.8.7
- GitLab 11: 11.0.6  11.11.8
- GitLab 12: 12.0.12  12.1.17  12.10.14
- GitLab 13: 13.0.14  13.1.11  13.8.8  13.12.15
- GitLab 14: 14.0.12  14.3.6  14.9.5  14.10.5
- GitLab 15: 15.0.5  15.1.6 (for GitLab instances with multiple web nodes) > 15.4.6  latest 15.Y.Z
参考资料
官方文档
https://archives.docs.gitlab.com/15.11/ee/update/#upgrade-paths
清华大学开源软件镜像站
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
官方源
https://packages.gitlab.com/app/gitlab/gitlab-ce/search?dist=&filter=debs&page=147&q=
参考资料
https://blog.csdn.net/cfh0081/article/details/131393441
1. 数据备份
gitlab-rake gitlab:backup:create   #备份命令
备份目录
/data/backups
1706000135_2024_01_23_9.2.7_gitlab_backup.tar

在这里插入图片描述

2.迁移恢复

#忽略其他环境,建议使用centos7版本,方便后期升级

2.1 下载rpm包,方便后期升级

在这里插入图片描述
查看原来系统的版本

cat /var/opt/gitlab/gitlab-rails/VERSION  #检查升级的版本
2.1 恢复初始环境
rpm -i gitlab-ce-9.2.7-ce.0.el7.x86_64.rpm

在这里插入图片描述
注意修改配置 gitlab.rb
在这里插入图片描述

gitlab-ctl reconfigure
gitlab-ctl restart
2.2 恢复旧数据

cd 备份目录下

gitlab-rake gitlab:backup:restore BACKUP=1706000135_2024_01_23_9.2.7
gitlab-ctl reconfigure  #重新生成配置文件
gitlab-ctl restart  #重启服务
gitlab-ctl status   #检查服务是否正常启动
gitlab-rake gitlab:check SANITIZE=true  #检查 GitLab 实例的配置和运行环境是否正确
cat /var/opt/gitlab/gitlab-rails/VERSION  #检查升级的版本
2.3 版本升级

配置yum源

[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
repo_gpgcheck=0
gpgcheck=0
enable=1
gpgkey=https://packages.gitlab.com/gpg.key

开始升级参照升级顺序进行升级,每次升级完成重新加载配置,重启服务

yum -y install gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm 
cat /var/opt/gitlab/gitlab-rails/VERSION  #检查版本
gitlab-ctl reconfigure  #重新加载配置
gitlab-ctl restart     #重启服务
为什么使用centos系统,

方便版本管理,后期升级完成后可以迁移其他系统。
rpm软件包提前下载是为了方便升级,下载地址如下
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

升级完成有如下提示

在这里插入图片描述
参考资料

https://blog.csdn.net/weixin_44093164/article/details/127869196?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-127869196-blog-131288688.235%5Ev40%5Epc_relevant_anti_vip&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-127869196-blog-131288688.235%5Ev40%5Epc_relevant_anti_vip&utm_relevant_index=13
注意事项

12.10.14 -> 13.0.14升级注意

**12.10.14 -> 13.0.14**
此版本变动如下:
1、Puma代替unicorn作为默认web server
2、PostgreSQL最低版本提升到11。

停止数据连接服务:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
开始升级:
rpm -Uvh gitlab-ce-13.0.14-ce.0.el7.x86_64.rpm
gitlab-ctl restart

14.0.12 -> 14.3.6 升级注意
报错
There was an error running gitlab-ctl reconfigure:
在这里插入图片描述
解决方案
gitlab:background_migrations:finalize… 该命令有可能执行多次,直到无报错即可

gitlab-ctl stop
 
gitlab-ctl start postgresql
#复制刚才输出的命令 
sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_builds_metadata,id, "["id"]\'["id_convert_to bigint"]]']
gitlab-rake db:migrate
gitlab-ctl reconfigure  #重新初始化
gitlab-ctl restart      #重起服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/346918.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利用nginx宝塔免费防火墙实现禁止国外IP访问网站

本章教程,主要介绍,如何利用nginx宝塔面板中的插件免费防火墙,实现一键禁止国外IP访问网站。 目录 一、安装宝塔插件 二、 开启防火墙 一、安装宝塔插件 在宝塔面板中的软件商店,搜索防火墙关键词,找到Nginx免费防火…

详解STP生成树

华子目录 前沿导入二层环路导致问题: 生成树802.1D 角色选举根网桥根端口指定端口非指定端口(阻塞端口) cost值接口状态down侦听学习转发阻塞 收敛时间当结构发生变化时 802.1D缺点802.1D配置命令PVSTPVST快速生成树RSTP基于组的快速生成树MS…

Docker数据管理

管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。 在生成容器的同时,加上 -v 选项,指定把当前服务器的目录映射到容器中,实现do…

单核QPS近6000S,陌陌基于OceanBase的持久化缓存探索与实践

挚文集团于 2011 年 8 月推出了陌陌,这款立足地理位置服务的开放式移动视频社交应用在中国社交平台领域内独树一帜。陌陌和探探作为陌生人社交领域的主流应用,涵盖了多种核心业务模块,包括直播服务、附近动态功能、即时通讯(IM&am…

亚马逊测评:自养号测评的深度解析与策略

亚马逊测评对于卖家来说至关重要,特别是在当今竞争激烈的电商环境中。然而,许多人对亚马逊测评的理解仅停留在刷销量和积累好评的层面,忽视了自养号测评的其他重要功能。本文将深入探讨自养号测评的多种功能,以及如何建立稳定、高…

用graalvm将maven项目打包成可执行文件

概述:配置graalvm或者用graalvm打包springboot项目请看下面文章: Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)-CSDN博客 废话不多说,咱们开始用GraalVM打包maven项目。 第一步:引入依赖和插件 p…

mac 修改flutter sdk配置

问题描述:我mac电脑上有高低2个版本的flutter sdk,我需要低版本sdk的项目在setting里设置了sdk版本,可是命令行还是提示我版本过高。 直接上解决办法: 打开mac终端,输入open -e .bash_profile,然后修改下…

06.搭建一个自己的私有仓库-Gitea

06.搭建一个自己的私有仓库-Gitea | DLLCNX的博客 如果你是一位程序员或者IT相关领域的从业者,那么肯定知道git,而且也或多或少接触了不少开源仓库以及公司的私有仓库,但是我们有没有想过自己也搭建一个私有仓库呢。 这么多开源仓库&#xf…

Goodbye! Xshell、iTerm2、FinalShell,mobaxterm,新一代开源免费的终端工具真香!

前言 众所周知,在数字化时代,远程连接成为工作和管理中不可或缺的一环。 而在这个领域,SSH(Secure Shell)一直是最常用的协议之一,为远程管理提供了安全的通信渠道。 然而,伴随着技术的发展和…

docker 体验怀旧游戏(魂斗罗等)

docker run --restart always -p 8081:80 --name fc-games -d registry.cn-hangzhou.aliyuncs.com/bystart/fc-games:latest ip:8081访问 jsnes: js制作了一个网页版的NES模拟,可以在网页上玩fc游戏 (gitee.com)

Unity中URP下计算额外灯的方向

文章目录 前言一、为什么额外灯的方向,不像主平行灯一样直接获取?1、主平行灯2、额外灯中,包含 点光源、聚光灯 和 平行灯 二、获得模型顶点指向额外灯的单位向量三、Unity中的实现 前言 在上一篇文章中,我们获取了URP下额外灯的…

探索Gin框架:快速构建高性能的Golang Web应用

前言 Gin框架是一个轻量级的Web框架,基于Go语言开发,旨在提供高性能和简洁的API。它具有快速的路由和中间件支持,使得构建Web应用变得更加简单和高效。无论是构建小型的API服务还是大型的Web应用,Gin框架都能够满足你的需求。 无论…

vivado I/O和时钟规划设计流程步骤

I/O和时钟规划设计流程步骤 下图显示了左侧的项目设计流程步骤。水平箭头表示项目设计流程中可以执行I/O和时钟规划的点。中的步骤I/O和时钟规划设计流程如右图所示。 项目设计流程从一个空的I/O规划项目、RTL设计项目或合成后网表项目。使用这些项目类型中的任何一种&#xf…

【江科大】STM32:USART串口(理论部分)上

串口 全双工:可以进行同步通信 单端信号:信号线传输的就是单端信号。(也就是与地线(GND)的电势差) 缺点:防干扰能力差 原因:当信号从A点传输到B点,理想条件是A&#xff0…

Unity 解决异步分发方案

很多程序,包括游戏、小程序、一些AR、VR的程序,因为客户端体量太大,更新频繁都涉及到远程热更新的问题,解决这类问题的思路基本上是客户端解决主要功能,资源类放置在服务器。 下面记录下: 1.CDN或者云轻量…

探讨Go语言中的HTTP代理模式:看Go如何玩转网络中转站

在互联网的海洋中,HTTP代理服务器像一座灯塔,为我们的网络冲浪提供了指引。而当Go语言遇上HTTP代理,会碰撞出怎样的火花呢?今天,让我们一起探讨Go语言中的HTTP代理模式,看看它如何玩转这个网络中转站&#…

BGV/BFV 的统一自举算法

参考文献: [GV23] Geelen R, Vercauteren F. Bootstrapping for BGV and BFV Revisited[J]. Journal of Cryptology, 2023, 36(2): 12.Bit Extraction and Bootstrapping for BGV/BFV 文章目录 Bootstrapping for BGV and BFVDecryption FunctionBGVBFV Bootstrapp…

项目管理中,项目经理如何预防需求蔓延?

在项目管理中,需求蔓延是一个常见的问题,需求蔓延可能会导致项目进度延误、成本增加和产品质量下降。为了防止这种情况发生,项目经理需要采取一系列措施来预防需求蔓延。 一、明确项目范围和需求 项目经理需要在项目开始阶段明确项目范围和…

【云原生】Docker 网络

目录 Docker 网络实现原理 查看容器的输出和日志信息 Docker 的网络模式: 使用docker run创建Docker容器时,可以用 --net 或 --network 选项指定容器的网络模式 网络模式详解 1.host模式 2.container模式 --name 选项可以…

【开源】基于JAVA+Vue+SpringBoot的婚恋交友网站

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 会员管理模块2.3 新闻管理模块2.4 相亲大会管理模块2.5 留言管理模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 会员信息表3.2.2 新闻表3.2.3 相亲大会表3.2.4 留言表 四、系统展示五、核心代码5.…