gerrit 2 升级到 3最新版本(2.16-->3.9.1)--官方升级方式

root用户安装jdk11 和 17

# 11.0.21 支持到gerrit 3.8,gerrit 3.9 得需要 17
[root@localhost ~]# cd /usr/local/java/
[root@localhost java]# wget https://mirrors.xingyunkeji.com/package/jdk/openjdk-11.0.21%2B9-linux-x64.tar.gz
[root@localhost java]# wget https://mirrors.xingyunkeji.com/package/jdk/openjdk-17.0.9%2B9-linux-x64.tar.gz
[root@localhost java]# tar xf openjdk-11.0.21+9-linux-x64.tar.gz
[root@localhost java]# tar xf openjdk-17.0.9+9-linux-x64.tar.gz
[root@localhost java]# mv openlogic-openjdk-11.0.21+9-linux-x64 jdk-11.0.21
[root@localhost java]# mv openlogic-openjdk-17.0.9+9-linux-x64 jdk-17.0.9# 配置默认的jdk版本(这一步可以不做)
[root@localhost java]# vim /etc/profile
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export JAVA_HOME=/usr/local/java/jdk-11.0.21
export JRE_HOME=${JAVA_HOME}/jre
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin:/usr/local/git-2.9.5/bin
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${JRE_HOME}/lib[root@localhost java]# source /etc/profile
[root@localhost java]# java --version
openjdk 17.0.9 2023-10-17

下载gerrit

[root@localhost java]# su - gerrit
[gerrit@localhost ~]$ cd /home/gerrit
wget https://mirrors.xingyunkeji.com/package/gerrit/gerrit-2.16.28.war
wget https://mirrors.xingyunkeji.com/package/gerrit/gerrit-3.2.14.war
wget https://mirrors.xingyunkeji.com/package/gerrit/gerrit-3.3.11.war
wget https://mirrors.xingyunkeji.com/package/gerrit/gerrit-3.5.6.war
wget https://mirrors.xingyunkeji.com/package/gerrit/gerrit-3.6.8.war
wget https://mirrors.xingyunkeji.com/package/gerrit/gerrit-3.7.6.war
wget https://mirrors.xingyunkeji.com/package/gerrit/gerrit-3.8.3.war
wget https://mirrors.xingyunkeji.com/package/gerrit/gerrit-3.9.1.war

Upgrade gerrit to 2.16.28

[gerrit@localhost ~]$ ./gerrit2.16.17_site/bin/gerrit.sh stop
[gerrit@localhost ~]$ /usr/local/java/jdk1.8.0_202/bin/java -jar gerrit-2.16.28.war init -d /home/gerrit/gerrit2.16.17_site
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore*** Gerrit Code Review 2.16.28
****** Git Repositories
***Location of Git repositories   [git]:*** SQL Database
***Database server type           [mysql]:Gerrit Code Review is not shipped with MySQL Connector/J 5.1.48
**  This library is required for your configuration. **
Download and install it now [Y/n]? n
Server hostname                [10.10.5.156]:
Server port                    [3306]:
Database name                  [AEPXX998]:
Database username              [root]:
Change root's password         [y/N]?*** Index
***Type                           [lucene/?]:The index must be rebuilt before starting Gerrit:java -jar gerrit.war reindex -d site_path*** User Authentication
***Authentication method          [ldap/?]:
Git/HTTP authentication        [ldap/?]:
LDAP server                    [ldap://10.10.0.11]:
LDAP username                  [CN=gerrit,OU=Gerrit,OU=System_support,OU=Other,OU=xinyun,DC=xingyunkeji,DC=com]:
Change CN=gerrit,OU=Gerrit,OU=System_support,OU=Other,OU=xinyun,DC=xingyunkeji,DC=com's password [y/N]?
Account BaseDN                 [DC=xingyunkeji,DC=com]:
Group BaseDN                   [DC=xingyunkeji,DC=com]:
Enable signed push support     [y/N]?*** Email Delivery
***SMTP server hostname           [smtp.xingyunkeji.com]: SMTP server port               [(default)]:
SMTP encryption                [none/?]:
SMTP username                  [gerrit@xingyunkeji.com]:
Change gerrit@xingyunkeji.com's password [y/N]?*** Container Process
***Run as                         [gerrit]:
Java runtime                   [/usr/local/java/jdk1.8.0_202/jre]:
Upgrade /home/gerrit/gerrit2.16.17_site/bin/gerrit.war [Y/n]?
Copying gerrit-2.16.28.war to /home/gerrit/gerrit2.16.17_site/bin/gerrit.war*** SSH Daemon
***Listen on address              [*]:
Listen on port                 [29418]:*** HTTP Daemon
***Behind reverse proxy           [y/N]?
Use SSL (https://)             [y/N]?
Listen on address              [0.0.0.0]:
Listen on port                 [8080]:
Canonical URL                  [http://10.10.1.99:8080]:*** Cache
***Delete cache file /home/gerrit/gerrit2.16.17_site/cache/diff.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/diff_intraline.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/diff_summary.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/change_kind.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/mergeability.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/git_tags.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/conflicts.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/oauth_tokens.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/web_sessions.h2.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/diff_summary.lock.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/change_kind.lock.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/mergeability.lock.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/conflicts.lock.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/diff_intraline.lock.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/git_tags.lock.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/diff.lock.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/oauth_tokens.lock.db [y/N]?
Delete cache file /home/gerrit/gerrit2.16.17_site/cache/web_sessions.lock.db [y/N]?*** Plugins
***Installing plugins.
Install plugin codemirror-editor version v2.16.28 [Y/n]?
codemirror-editor v2.16.28 is already installed, overwrite it [Y/n]?
Updated codemirror-editor to v2.16.28
Install plugin commit-message-length-validator version v2.16.28 [Y/n]?
commit-message-length-validator v2.16.28 is already installed, overwrite it [Y/n]?
Updated commit-message-length-validator to v2.16.28
Install plugin download-commands version v2.16.28 [Y/n]?
download-commands v2.16.28 is already installed, overwrite it [Y/n]?
Updated download-commands to v2.16.28
Install plugin hooks version v2.16.28 [Y/n]?
hooks v2.16.28 is already installed, overwrite it [Y/n]?
Updated hooks to v2.16.28
Install plugin replication version v2.16.28 [Y/n]?
replication v2.16.28 is already installed, overwrite it [Y/n]?
Updated replication to v2.16.28
Install plugin reviewnotes version v2.16.28 [Y/n]?
reviewnotes v2.16.28 is already installed, overwrite it [Y/n]?
Updated reviewnotes to v2.16.28
Install plugin singleusergroup version v2.16.28 [Y/n]?
singleusergroup v2.16.28 is already installed, overwrite it [Y/n]?
Updated singleusergroup to v2.16.28
Initializing plugins.
...
Reindexing projects:    100% (3007/3007)
Reindexed 3007 documents in projects index in 103.5s (29.1/s)
Index projects in version 4 is ready[gerrit@localhost ~]$ /usr/local/java/jdk1.8.0_202/bin/java -jar gerrit-2.16.28.war reindex --threads 20 -d /home/gerrit/gerrit2.16.17_site 2>&1 | tee reindex-to-2.16.28.txt# 从 ReviewDb 到 NoteDB 的数据迁移前的准备
[gerrit@localhost ~]$ ./gerrit2.16.17_site/bin/gerrit.sh start
[gerrit@localhost ~]$ ./gerrit2.16.17_site/bin/gerrit.sh stop
[gerrit@localhost ~]$ # 移除 gerrit.config 中的 gitweb 配置
[gerrit@localhost ~]$ rm -f gerrit2.16.17_site/logs/*
[gerrit@localhost ~]$ rm -f gerrit2.16.17_site/etc/replication.config
[gerrit@localhost ~]$ rm -f gerrit2.16.17_site/plugins/*# 数据迁移 & 重建索引
[gerrit@localhost ~]$ /usr/local/java/jdk1.8.0_202/bin/java -jar gerrit2.16.17_site/bin/gerrit.war migrate-to-note-db --threads 10 -d gerrit2.16.17_site --reindex false  2>&1 | tee ./migrate-to-notedb.txt
[gerrit@localhost ~]$ /usr/local/java/jdk1.8.0_202/bin/java -jar /home/gerrit/gerrit2.16.17_site/bin/gerrit.war reindex -d gerrit2.16.17_site --threads 10  2>&1 | tee reindex-to-2.16.28-migrate.txt# 启动查看
[gerrit@localhost ~]$ ./gerrit2.16.17_site/bin/gerrit.sh start
## 没问题再停止,注意查看进程
[gerrit@localhost ~]$ ./gerrit2.16.17_site/bin/gerrit.sh stop

Upgrade 2.16.28 to 3.2.14

[gerrit@localhost ~]$ mv gerrit2.16.17_site gerrit_site
[gerrit@localhost ~]$ chown -R gerrit:gerrit gerrit_site/
[gerrit@localhost ~]$ rm -f gerrit_site/logs/*
[gerrit@localhost ~]$ rm -f gerrit_site/etc/replication.config
[gerrit@localhost ~]$ rm -f gerrit_site/plugins/*
[gerrit@localhost ~]$ /usr/local/java/jdk1.8.0_202/bin/java -jar gerrit-3.2.14.war init --batch --install-all-plugins -d gerrit_site/ 2>&1 | tee upgrade-to-3.2.14.txt
[gerrit@localhost ~]$ /usr/local/java/jdk1.8.0_202/bin/java -jar gerrit_site/bin/gerrit.war reindex -d gerrit_site/ 2>&1 | tee reindex-to-3.2.14.txt# 启动检测是否正常
[gerrit@localhost ~]$ chown -R gerrit:gerrit gerrit_site/
[gerrit@localhost ~]$ 移除 gerrit.config 中数据库
[gerrit@localhost ~]$ ./gerrit_site/bin/gerrit.sh start
[gerrit@localhost ~]$ ./gerrit_site/bin/gerrit.sh stop

Upgrade 3.2.14 to 3.3.11

[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit-3.3.11.war init --batch --install-all-plugins -d gerrit_site/ 2>&1 | tee upgrade-to-3.3.11.txt
[gerrit@localhost ~]$ chown -R gerrit:gerrit gerrit_site/

Upgrade 3.3.11 to 3.5.6

[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit-3.5.6.war init --batch --install-all-plugins -d gerrit_site/ 2>&1 | tee upgrade-to-3.5.6.txt
[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit_site/bin/gerrit.war reindex --index changes -d gerrit_site/ 2>&1 | tee reindex-to-3.5.6.txt
[gerrit@localhost ~]$ chown -R gerrit:gerrit gerrit_site/

Upgrade 3.5.6 to 3.6.8

<!-- 必须先使用 3.5.6 版本执行 copy-approvals -->
[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit_site/bin/gerrit.war copy-approvals -d gerrit_site/ 2>&1 | tee copy-approvals-3.5.6.txt
[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit-3.6.8.war init --batch --install-all-plugins -d gerrit_site/ 2>&1 | tee upgrade-to-3.6.8.txt
[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit_site/bin/gerrit.war reindex --index changes -d gerrit_site/ 2>&1 | tee reindex-to-3.6.8.txt
[gerrit@localhost ~]$ chown -R gerrit:gerrit gerrit_site/

Upgrade 3.6.8 to 3.7.6

<!-- 3.7.6 要求 java 11 的版本高于 11.0.10 ,java-11-openjdk 的版本是 11.0.21-->
[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit-3.7.6.war init --batch --install-all-plugins -d gerrit_site/ 2>&1 | tee upgrade-to-3.7.6.txt
[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit_site/bin/gerrit.war reindex -d gerrit_site/ 2>&1 | tee reindex-to-3.7.6.txt
[gerrit@localhost ~]$ chown -R gerrit:gerrit gerrit_site/

Upgrade 3.7.6 to 3.8.3

[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit-3.8.3.war init --batch --install-all-plugins -d gerrit_site/
[gerrit@localhost ~]$ /usr/local/java/jdk-11.0.21/bin/java -jar gerrit_site/bin/gerrit.war reindex --index changes -d gerrit_site/
[gerrit@localhost ~]$ chown -R gerrit:gerrit gerrit_site/

Upgrade 3.8.3 to gerrit-3.9.1

[gerrit@localhost ~]$ /usr/local/java/jdk-17.0.9/bin/java -jar gerrit-3.9.1.war init --batch --install-all-plugins -d gerrit_site/
[gerrit@localhost ~]$ /usr/local/java/jdk-17.0.9/bin/java -jar gerrit_site/bin/gerrit.war reindex -d gerrit_site/
[gerrit@localhost ~]$ chown -R gerrit:gerrit gerrit_site/
[gerrit@localhost ~]$ 修改gerrit 的配置为 jdk环境变量为 jdk-17.0.9
[gerrit@localhost ~]$ ./gerrit_site/bin/gerrit.sh start

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式系统面试的秘籍:深入探讨事务、幂等性和补偿事务,掌握二/三阶段提交,了解Sagas事务模型和分布式ID的实战应用!

1、分布式幂等性如何设计&#xff1f;并举例说明 设计分布式系统的幂等性是确保在面对重复请求或操作时系统能够产生相同结果的重要方面。以下是一些设计方法&#xff0c;并结合一个简单的例子说明&#xff1a; 设计方法&#xff1a; 唯一标识符&#xff08;ID&#xff09;:…

网络爬虫详解

网络爬虫&#xff08;Web Crawler&#xff09;是一种自动化程序&#xff0c;用于在互联网上获取和提取数据。它们可以遍历互联网上的网页、收集数据&#xff0c;并进行处理和分析。网络爬虫也被称为网络蜘蛛、网络机器人等。 网络爬虫的工作原理主要是通过模拟浏览器的行为&…

这么复杂的刻度标签怎么绘制?超简单~~

今天我们开始「粉丝要求绘图系列」的第一篇推文 &#xff0c;这个系列我会筛选出需求较多的一类图进行绘制讲解&#xff0c;当然&#xff0c;绘图的数据我们尽可能的全部分享出来(即使涉及一些论文数据&#xff0c;我们也会根据情况进行虚构处理的)&#xff0c;本期的推文重要涉…

安卓之用户数据安全现状以及相关技术优劣分析

一、引言 随着智能手机的普及&#xff0c;安卓平台已成为全球最大的移动操作系统之一。用户数据安全在安卓平台上变得日益重要&#xff0c;因为个人信息、金融交易和企业数据等都存储和传输于这些设备之中。本文将分析安卓平台上用户数据安全的现状&#xff0c;探讨保障数据安全…

亚马逊单账号和关联账号限制导致店铺被封怎么办?

众所周知&#xff0c;亚马逊的规则之一&#xff0c;即禁止卖家在同一个站点拥有两个或多个账号。 亚马逊强制执行“单账号”政策&#xff0c;可以帮助买家减少与不良商家接触。假设卖家绩效下滑、遭到投诉或负面评价&#xff0c;可以随意开设新账号的话&#xff0c;那消费者就…

dfs专题 P1255 数楼梯——洛谷(疑问)

题目描述 楼梯有 &#xfffd;N 阶&#xff0c;上楼可以一步上一阶&#xff0c;也可以一步上二阶。 编一个程序&#xff0c;计算共有多少种不同的走法。 输入格式 一个数字&#xff0c;楼梯数。 输出格式 输出走的方式总数。 输入输出样例 输入 #1复制 4 输出 #1复制…

H5 嵌套iframe并设置全屏

H5 嵌套iframe并设置全屏 上图上代码 <template><view class"mp-large-screen-box"><view class"mp-large-screen-count">// 返回按钮<view class"mp-mini-btn-color mp-box-count" hover-class"mp-mini-btn-hover…

如何在群晖中本地部署WPS Office并实现公网远程访问

文章目录 1. 拉取WPS Office镜像2. 运行WPS Office镜像容器3. 本地访问WPS Office4. 群晖安装Cpolar5. 配置WPS Office远程地址6. 远程访问WPS Office小结 7. 固定公网地址 wps-office是一个在Linux服务器上部署WPS Office的镜像。它基于WPS Office的Linux版本&#xff0c;通过…

C++入门【36-C++ 类构造函数 析构函数】

类的构造函数 类的构造函数是类的一种特殊的成员函数&#xff0c;它会在每次创建类的新对象时执行。 构造函数的名称与类的名称是完全相同的&#xff0c;并且不会返回任何类型&#xff0c;也不会返回 void。构造函数可用于为某些成员变量设置初始值。 下面的实例有助于更好地…

Pandas--安装(2)

安装 pandas 需要基础环境是 Python&#xff0c;Pandas 是一个基于 Python 的库&#xff0c;因此你需要先安装 Python&#xff0c;然后再通过 Python 的包管理工具 pip 安装 Pandas。 使用 pip 安装 pandas: pip install pandas安装成功后&#xff0c;我们就可以导入 pandas …

C++ 11新特性之右值引用

概述 C 11中引入了一项关键特性——右值引用&#xff0c;极大地增强了C在资源管理、性能优化和表达力方面的能力。通过理解并合理运用右值引用&#xff0c;我们可以编写出更高效、更简洁且不易出错的代码。本文将深入探讨右值引用的概念、工作原理及其在C编程实践中的应用场景。…

华为手表开发:WATCH 3 Pro(4)创建项目 + 首页新建按钮,修改初始文本

华为手表开发:WATCH 3 Pro(4)创建项目 + 首页新建按钮,修改初始文本 初环境与设备创建项目创建项目入口配置项目认识目录结构修改首页初始文本

12.1 关键点提取------Harris原理及代码

一、原理 该原理看了Harris角点检测原理详解-CSDN博客的博文&#xff0c;在这里写一遍是作为笔记&#xff0c;以供后参考。 1.什么是角点 角点就是图片中的一些突变的点&#xff0c;如下图所示。图中的点都是菱角分明的一些凸出来或凹进去的点。 我们可以直观的概括下角点所具…

复杂SQL治理实践 | 京东物流技术团队

一、前言 软件在持续的开发和维护过程中&#xff0c;会不断添加新功能和修复旧的缺陷&#xff0c;这往往伴随着代码的快速增长和复杂性的提升。若代码库没有得到良好的管理和重构&#xff0c;就可能积累大量的技术债务&#xff0c;包括不一致的设计、冗余代码、过时的库和框架…

Go语言中HTTP代理的请求和响应过程

在Go语言中&#xff0c;HTTP代理的实现涉及对请求和响应的拦截、转发和处理。下面将详细介绍这个过程。 请求过程&#xff1a; 客户端发起请求&#xff1a;客户端&#xff08;例如浏览器或其他应用程序&#xff09;发送HTTP请求到代理服务器。建立连接&#xff1a;代理服务器…

C++核心编程:类和对象 笔记

4.类和对象 C面向对象的三大特性为:封装,继承,多态C认为万事万物都皆为对象&#xff0c;对象上有其属性和行为 例如&#xff1a; 人可以作为对象&#xff0c;属性有姓名、年龄、身高、体重...,行为有走、跑、跳、说话...车可以作为对象&#xff0c;属性有轮胎、方向盘、车灯…

Django配置websocket时的错误解决

基于移动群智感知的网络图谱构建系统需要手机app不断上传数据到服务器并把数据推到前端标记在百度地图上&#xff0c;由于众多手机向同一服务器发送数据&#xff0c;如果使用长轮询&#xff0c;则实时性差、延迟高且服务器的负载过大&#xff0c;而使用websocket则有更好的性能…

对于JDK动态代理和Cglib动态代理,如何分析和实现?

JDK动态代理和Cglib动态代理都是Java中常用的动态代理实现方式&#xff0c;它们各有特点和应用场景&#xff1a; JDK动态代理&#xff1a;JDK动态代理是基于接口的代理方式。它使用java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口来创建代理对象。在这种方…

go基础-垃圾回收+混合写屏障GC全分析

垃圾回收(Garbage Collection&#xff0c;简称GC)是编程语言中提供的自动的内存管理机制&#xff0c;自动释放不需要的对象&#xff0c;让出存储器资源&#xff0c;无需程序员手动执行。 Golang中的垃圾回收主要应用三色标记法&#xff0c;GC过程和其他用户goroutine可并发运行…

[Tcpdump] 网络抓包工具使用教程

往期回顾 海思 tcpdump 移植开发详解海思 tcpdump 移植开发详解 前言 上一节&#xff0c;我们已经讲解了在海思平台如何基于静态库生成 tcpdump 工具&#xff0c;本节将作为上一节的拓展内容。 一、tcpdump 简介 「 tcpdump 」是一款强大的网络抓包工具&#xff0c;它基于…