Docker部署的gitlab升级指南(15.11.X容器里升级PostgreSQL到13.8)

一、确定当前版本
#进入当前版本容器产看gitlab版本
docker exec -it gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

#显示版本如下
14.4.0
二、备份数据,防止升级发生意外
#执行备份命令
docker exec -ti gitlab gitlab-rake gitlab:backup:create

#在持久化目录查看备份情况
ll /opt/gitlab/data/backups/
-rw-------  1  998 docker 342722560  6月  5 02:18 1654366714_2022_06_04_14.4.0_gitlab_backup.tar
-rw-------  1  998 docker 559196160  6月 11 22:40 1654958434_2022_06_11_14.4.0_gitlab_backup.tar
 
三、确定升级路线

docker环境部署gitlab的升级很简单,直接基于高版本的镜像运行容器即可;
需要注意的是gitlab的升级不能跨大版本升级,详见升级路径:
https://docs.gitlab.com/ee/update/index.html#upgrade-paths

可在此链接查看gitlab-ce的docker全部镜像:
https://hub.docker.com/r/gitlab/gitlab-ce/

升级路线图如下;

从14.4.0版本升级到16.Y.Z版本升级路线图为

14.4.0->14.6.2->14.9.5-> 14.10.4->15.0.2->15.1.0->15.4.0->15.6.1->15.8.0->15.9.0->15.11.0->16.0.1->16.0.8->16.1.5->16.3.6->16.7.3->16.Y.Z->

四、升级(共分4个版本升级)

1.14.4.0->14.6.2

#为了防止升级过程ssh终端造成问题,启用终端复用器tmux, 执行升级操作
#停止gitllab服务
docker stop gitlab && docker  rm gitlab

#执行升级命令
docker run -d --restart=always -p 9980:9980 -p 10022:22 --name gitlab_15_9 --env GITLAB_OMNIBUS_CONFIG="external_url 'http://IP:9980/'; gitlab_rails['lfs_enabled'] = true;" -v /home/gitlab/config:/etc/gitlab  -v /home/gitlab/logs:/var/log/gitlab  -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:14.6.2-ce.0

#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab

2.14.6.2->14.9.5

#停止gitllab服务
docker stop gitlab && docker  rm gitlab

#执行升级命令
docker run -d --restart=always -p 9980:9980 -p 10022:22 --name gitlab_15_9 --env GITLAB_OMNIBUS_CONFIG="external_url 'http://IP:9980/'; gitlab_rails['lfs_enabled'] = true;" -v /home/gitlab/config:/etc/gitlab  -v /home/gitlab/logs:/var/log/gitlab  -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:14.9.5-ce.0

#查看升级日志,约10分钟左右升级成功
docker logs -f gitlab
从 GitLab 16开始就不支持 PostgreSQL 12。在升级到 GitLab 16.0或更高版本之前,至少将 PostgreSQL 升级到13.6版本。

要将Docker中的GitLab 15.11.0升级到16.0.1,并将容器内的PostgreSQL升级到13.6版本,请按照以下步骤操作:

升级到15.11.0版本后

docker exec -it <容器> /bin/bash

查看PostgreSQL版本

/opt/gitlab/embedded/bin/postgres --version

升级到PostgreSQL13.0以上

gitlab-ctl pg-upgrade -V 13

若提示报错: /var/opt/gitlab/postgresql/data.13 is not empty. Move or delete this directory to proceed with upgrade

把data.13删除即可:rm -rf /var/opt/gitlab/postgresql/data.13

在执行:gitlab-ctl pg-upgrade -V 13

15.11.0>16.0.1

docker run -d --restart=always -p 9980:9980 -p 10022:22 --name gitlab_16_0 --env GITLAB_OMNIBUS_CONFIG="external_url 'http://IP:9980/'; gitlab_rails['lfs_enabled'] = true;" -v /home/gitlab/config:/etc/gitlab  -v /home/gitlab/logs:/var/log/gitlab  -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:16.0.1-ce.0

大多数安装可以跳过16.0、16.1和16.2,因为升级路径上的第一个必需停止点是16.3。在所有情况下,您都应该查看这些中间版本的说明。一些 GitLab 安装必须停止在这些中间版本,这取决于所使用的特性和环境的大小: 16.0.8: 用户表中有大量记录的实例。有关更多信息,请参见长时间运行的用户类型数据更改。16.1.5: 使用 NPM 包注册表的实例。16.2.8: 具有大量管道变量(包括历史管道)的实例。如果您的实例受到影响,并且您跳过了这些停止: 升级可能需要几个小时才能完成。该实例生成500个错误,直到所有数据库更改完成,然后 Puma 和 Sidekiq 必须重新启动。对于 Linux 包安装,会出现超时,并且需要手动解决方案来完成迁移。GitLab 16.0引入了围绕对项目规模实施限制的变化。在自我管理的情况下,如果使用这些限制,达到限制的项目在推送到同一组中未受影响的 Git 存储库时会导致错误消息。这些错误通常指的是超过零字节的限制(限制为0 B)。推送成功了,但错误暗示了其他情况,并可能导致自动化问题。阅读本期更多内容。这个 bug 在 GitLab 16.5及更高版本中得到了修复。

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

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

相关文章

Mybatis基础---------增删查改

增删改 1、新建工具类用来获取会话对象 import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.apache.ibatis.io.Resources;import java.io.IOExcept…

Spring环境搭配

概述 Spring 是一个开源框架&#xff0c;Spring 是于2003 年兴起的一个轻量级的Java 开发框架&#xff0c;由 RodJohnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是 为了解决企业应用开发的复杂性而创建的。框架的主要优势…

【PDF密码】PDF密码,如何强制取消?

想要给PDF文件设置一个密码防止他人对文件进行编辑&#xff0c;那么我们可以对PDF文件设置限制编辑&#xff0c;设置方法很简单&#xff0c;我们在PDF编辑器中点击文件 – 属性 – 安全&#xff0c;在权限下拉框中选中【密码保护】 然后在密码保护界面中&#xff0c;我们勾选【…

一台电脑如何通过另一台联网电脑访问网络

电脑A没有连接网络&#xff0c;电脑B已经连接wifi。 电脑A如何通过访问电脑B从而连接网络&#xff1f; 1. 将这2台电脑用网线直连 2. 电脑B打开【网络和Internet设置】 3. 右键点击WLAN&#xff0c;选择属性&#xff0c;进入共享tab页面&#xff0c;勾选【允许其他网络用户通过…

统计学-R语言-4.7

文章目录 前言描述水平的统计量平均数分位数中位数四分位数 众数描述差异的统计量&#xff08;数据离散程度&#xff09;极差四分位差方差和标准差变异系数标准分数 描述分布形状的统计量偏度与偏度系数峰度与峰度系数 数据的综合描述综合描述的R函数综合描述的实例 总结 前言 …

Linux安装Rdkafka PHP 扩展(Kafka使用教程)

以是centos为例 #可以查看php版本 php -v#查看php安装的扩展库 php -m 1、首先&#xff0c;确保你已经安装了 PHP 和相关的开发工具。你可以使用以下命令来安装它们&#xff1a; sudo yum install php-devel 中间会问你是否ok&#xff0c;输入y回车&#xff0c;出现complete…

【总结】浅谈深度学习算法与硬件协同优化

写在前面 本文总结了笔者本科期间关于深度神经网络算法与硬件协同优化的思路和常用方法&#xff0c;希望能够给入门此方向的同学带来一定的启发。笔者学疏才浅&#xff0c;如有问题欢迎私信或评论区讨论交流&#xff01; 一、背景与意义 深度神经网络(Deep Neural Network, …

从理论到实践:数字孪生技术的全面应用探讨

数字孪生是一种将实际物体或系统的数字模型与其实时运行状态相结合的概念。这一概念的核心在于创建一个虚拟的、与真实世界相对应的数字副本&#xff0c;以便监测、分析和优化实体系统的性能。 简单理解&#xff0c;数字孪生就是在一个设备或系统的基础上&#xff0c;创造一个…

快速入门Torch读取自定义图像数据集

真有用读取自定义数据集 学习新技术当然首先要看官网了就这&#xff1f;&#xff1f;&#xff1f;官方提供了许多内置好的数据集&#xff0c;但是我需要自定义啊&#xff01;&#xff01;&#xff01;我是谁&#xff1f;我在哪&#xff1f;我在干什么&#xff1f;完全不知道如何…

FFMPEG命令生成各国国旗

文章目录 亚洲篇中国~待补充朝鲜~待补充韩国~待补充蒙古~待补充日本越南~待补充老挝 欧洲篇挪威~待补充瑞典~待补充芬兰~待补充冰岛~待补充丹麦~待补充爱沙尼亚拉脱维亚立陶宛白俄罗斯~待补充乌克兰摩尔多瓦~待补充俄罗斯德国 亚洲篇 中国~待补充 朝鲜~待补充 韩国~待补充 …

Ubuntu 20.04扩容磁盘命令:Ubuntu 20.04扩容系统主分区教程(PV VG LV)

前置知识&#xff1a; 磁盘 最基础的存在&#xff0c;物理磁盘 pv 物理卷&#xff08;同一磁盘 可以划分多个物理卷&#xff09; vg 卷组 &#xff08;一个到多个pv可组成一个卷组&#xff09; lv 逻辑卷 &#xff08;卷组可以划分为多个逻辑卷&#xff09;Ubuntu20.4扩容磁…

使用Python编写一个渗透测试探测工具

本篇将会涉及&#xff1a; 资源探测一个有用的字典资源第一个暴力探测器 资源探测 资源探测在渗透测试中还是属于资源的映射和信息的收集阶段。 主要有以下三个类型&#xff1a; 字典攻击暴力破解模糊测试 字典攻击&#xff0c;在破解密码或密钥的时候&#xff0c;通过自定…

手把手教你学会接口自动化系列十四-如何用python操作excel的sheet自动化测试之前的准备工作

接上篇,我们都知道我们已经将所有的用例都用excel管理起来了,这个时候,我们该如何使用python操作excel使我们这篇文章要探究的问题了。 首先,使用python操作excel,可以使用openpyxl这样一个模块 我们实践起来吧。 1,我们可以通过下面的命令在pycharm中安装openyxl模块…

《Qt开发》MDI应用程序

实现多个子窗体的自定义布局&#xff08;自定义子窗体尺寸和位置&#xff09;、平铺布局&#xff08;titleSubWindows&#xff09;和分页模式&#xff08;QMdi::TabbedView&#xff09;。 运行效果图 初始布局&#xff08;自定义布局&#xff09; 平铺布局 多页模式 实现过程…

高校教务系统登录页面JS分析——河北地质大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习&#xff0c;勿用于非法用途。 一、密码加…

基于Java的校车管理系统

源码跳转链接: 基于java的校车管理系统 基于Java的校车管理系统 摘要一、绪论1.1设计目的与意义1.2需求分析1.3用户、管理员用例图 二、系统总体设计2.1系统模块设计2.2数据库分析与设计2.2.1数据库概念结构设计2.2.2表结构设计2.2.3数据库连接池原理 2.3系统后台设计与分析2.…

业财融合:解密企业管理的黄金钥匙

本文提炼总结自专刊《上市公司如何打好合规与增长的双赢之战》。全书40页&#xff0c;出品方纷享销客市场部。如有需要&#xff0c;请阅读原版电子书&#xff1a;《上市公司如何打好合规与增长的双赢之战》 目 录 一、什么是业财融合&#xff1f; 二、财务部门面临的挑战…

HackTheBox - Medium - Linux - Mentor

Mentor Mentor 是一台中等难度的 Linux 机器&#xff0c;其路径包括在到达 root 之前在四个不同的用户之间切换。使用可暴力破解的社区字符串扫描“SNMP”服务后&#xff0c;会发现用于“API”端点的明文凭据&#xff0c;该端点被证明容易受到盲目远程代码执行的影响&#xff…

芯片有关新闻-China chip imports suffer steepest drop on record after US curbs

Jan 16, 2024 9:01 am 由于长期的经济不确定性和美国的出口管制&#xff0c;中国的芯片进口去年遭遇了有记录以来的最大降幅。 全球最大半导体市场的集成电路进口额下降了15.4%&#xff0c;至3494亿美元&#xff0c;这是自2004年中国海关数据公布以来的最大跌幅&#xff0c;并…