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
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值