first commit
This commit is contained in:
245
Gerrit升级指南.md
Normal file
245
Gerrit升级指南.md
Normal file
@@ -0,0 +1,245 @@
|
||||
# Gerrit 升级指南
|
||||
|
||||
## 概述
|
||||
|
||||
本指南说明如何将 Gerrit 升级到最新版本(3.13.1),并使用 JDK 17 运行。
|
||||
|
||||
## 当前状态
|
||||
|
||||
- ✅ JDK 17 已安装: `/usr/local/java/jdk-17.0.12+7`
|
||||
- ✅ 当前 Gerrit 版本: 3.3.8 或 3.9.0
|
||||
- 🎯 目标版本: 3.13.1(支持 JDK 17)
|
||||
|
||||
## 升级步骤
|
||||
|
||||
### 方法一:使用升级脚本(推荐)
|
||||
|
||||
```bash
|
||||
cd /home/renjianbo/gerrit
|
||||
./upgrade_gerrit.sh
|
||||
```
|
||||
|
||||
升级脚本会自动:
|
||||
1. ✅ 验证 JDK 17 安装
|
||||
2. ✅ 停止现有 Gerrit 服务
|
||||
3. ✅ 备份所有数据(Git 仓库、数据库、配置、插件)
|
||||
4. ✅ 下载 Gerrit 3.13.1
|
||||
5. ✅ 升级 Gerrit(保留现有数据)
|
||||
6. ✅ 配置 Gerrit 使用 JDK 17
|
||||
7. ✅ 启动服务
|
||||
|
||||
### 方法二:手动升级
|
||||
|
||||
#### 1. 停止 Gerrit 服务
|
||||
|
||||
```bash
|
||||
cd /home/renjianbo/gerrit_install/review_site
|
||||
bin/gerrit.sh stop
|
||||
```
|
||||
|
||||
#### 2. 备份数据
|
||||
|
||||
```bash
|
||||
cd /home/renjianbo/gerrit_install
|
||||
BACKUP_DIR="backup_$(date +%Y%m%d_%H%M%S)"
|
||||
mkdir -p $BACKUP_DIR
|
||||
|
||||
# 备份 Git 仓库
|
||||
cp -r review_site/git $BACKUP_DIR/ 2>/dev/null || true
|
||||
|
||||
# 备份数据库
|
||||
cp -r review_site/db $BACKUP_DIR/ 2>/dev/null || true
|
||||
|
||||
# 备份配置
|
||||
cp -r review_site/etc $BACKUP_DIR/ 2>/dev/null || true
|
||||
|
||||
# 备份插件
|
||||
cp -r review_site/plugins $BACKUP_DIR/ 2>/dev/null || true
|
||||
```
|
||||
|
||||
#### 3. 下载新版本
|
||||
|
||||
```bash
|
||||
cd /home/renjianbo/gerrit_install
|
||||
wget https://gerrit-releases.storage.googleapis.com/gerrit-3.13.1.war
|
||||
```
|
||||
|
||||
#### 4. 设置 JDK 17
|
||||
|
||||
```bash
|
||||
export JAVA_HOME=/usr/local/java/jdk-17.0.12+7
|
||||
export PATH=$JAVA_HOME/bin:$PATH
|
||||
|
||||
# 验证
|
||||
java -version
|
||||
```
|
||||
|
||||
#### 5. 升级 Gerrit
|
||||
|
||||
```bash
|
||||
cd /home/renjianbo/gerrit_install
|
||||
java -jar gerrit-3.13.1.war init \
|
||||
-d review_site \
|
||||
--batch \
|
||||
--no-auto-start \
|
||||
--install-plugin=download-commands \
|
||||
--install-plugin=replication \
|
||||
--install-plugin=reviewnotes
|
||||
```
|
||||
|
||||
#### 6. 配置使用 JDK 17 启动
|
||||
|
||||
编辑 `review_site/bin/gerrit.sh`,在文件开头添加:
|
||||
|
||||
```bash
|
||||
export JAVA_HOME=/usr/local/java/jdk-17.0.12+7
|
||||
export PATH=$JAVA_HOME/bin:$PATH
|
||||
```
|
||||
|
||||
#### 7. 启动服务
|
||||
|
||||
```bash
|
||||
cd /home/renjianbo/gerrit_install/review_site
|
||||
bin/gerrit.sh start
|
||||
```
|
||||
|
||||
#### 8. 验证升级
|
||||
|
||||
```bash
|
||||
# 检查服务状态
|
||||
bin/gerrit.sh status
|
||||
|
||||
# 查看日志
|
||||
tail -f logs/error_log
|
||||
|
||||
# 访问 Web 界面
|
||||
# http://101.43.95.130:8080
|
||||
```
|
||||
|
||||
## 版本兼容性
|
||||
|
||||
| Gerrit 版本 | 最低 JDK 要求 | 推荐 JDK |
|
||||
|------------|--------------|---------|
|
||||
| 3.3.x | JDK 11 | JDK 11 |
|
||||
| 3.9.x | JDK 17 | JDK 17 |
|
||||
| 3.13.x | JDK 17 | JDK 17 |
|
||||
|
||||
## 升级后验证
|
||||
|
||||
### 1. 检查版本
|
||||
|
||||
访问 Gerrit Web 界面,在页面底部查看版本号,应该显示 `3.13.1`。
|
||||
|
||||
### 2. 检查 Java 版本
|
||||
|
||||
```bash
|
||||
cd /home/renjianbo/gerrit_install/review_site
|
||||
ps aux | grep gerrit | grep java
|
||||
```
|
||||
|
||||
应该看到进程使用 JDK 17。
|
||||
|
||||
### 3. 测试功能
|
||||
|
||||
- ✅ 登录 Web 界面
|
||||
- ✅ 查看项目列表
|
||||
- ✅ 创建/查看变更
|
||||
- ✅ SSH 连接测试
|
||||
|
||||
## 回滚(如果需要)
|
||||
|
||||
如果升级后出现问题,可以回滚到之前的版本:
|
||||
|
||||
```bash
|
||||
# 1. 停止服务
|
||||
cd /home/renjianbo/gerrit_install/review_site
|
||||
bin/gerrit.sh stop
|
||||
|
||||
# 2. 恢复备份
|
||||
cd /home/renjianbo/gerrit_install
|
||||
BACKUP_DIR="backup_YYYYMMDD_HHMMSS" # 替换为实际的备份目录名
|
||||
|
||||
# 恢复 Git 仓库
|
||||
rm -rf review_site/git
|
||||
cp -r $BACKUP_DIR/git review_site/
|
||||
|
||||
# 恢复数据库
|
||||
rm -rf review_site/db
|
||||
cp -r $BACKUP_DIR/db review_site/
|
||||
|
||||
# 恢复配置
|
||||
rm -rf review_site/etc
|
||||
cp -r $BACKUP_DIR/etc review_site/
|
||||
|
||||
# 恢复插件
|
||||
rm -rf review_site/plugins
|
||||
cp -r $BACKUP_DIR/plugins review_site/ 2>/dev/null || true
|
||||
|
||||
# 3. 使用旧版本 war 文件重新初始化
|
||||
# (使用之前下载的 gerrit-3.3.8.war 或 gerrit-3.9.0.war)
|
||||
|
||||
# 4. 启动服务
|
||||
cd review_site
|
||||
bin/gerrit.sh start
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q: 升级后服务无法启动?
|
||||
|
||||
**A:** 检查日志文件:
|
||||
```bash
|
||||
tail -f /home/renjianbo/gerrit_install/review_site/logs/error_log
|
||||
```
|
||||
|
||||
常见原因:
|
||||
- JDK 版本不匹配
|
||||
- 端口被占用
|
||||
- 配置文件错误
|
||||
|
||||
### Q: 升级后数据丢失?
|
||||
|
||||
**A:** 检查备份目录:
|
||||
```bash
|
||||
ls -la /home/renjianbo/gerrit_install/backup_*
|
||||
```
|
||||
|
||||
可以从备份目录恢复数据。
|
||||
|
||||
### Q: 如何确认使用的是 JDK 17?
|
||||
|
||||
**A:** 运行以下命令:
|
||||
```bash
|
||||
cd /home/renjianbo/gerrit_install/review_site
|
||||
ps aux | grep gerrit | grep -o '/[^ ]*java[^ ]*' | head -1 | xargs -I {} {} -version
|
||||
```
|
||||
|
||||
### Q: 升级需要多长时间?
|
||||
|
||||
**A:** 通常需要 2-5 分钟,取决于:
|
||||
- 网络速度(下载新版本)
|
||||
- 数据量大小(备份和升级)
|
||||
- 服务器性能
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. ⚠️ **备份重要**:升级前务必备份所有数据
|
||||
2. ⚠️ **停机时间**:升级过程中服务会停止,建议在维护窗口进行
|
||||
3. ⚠️ **测试环境**:建议先在测试环境验证升级流程
|
||||
4. ⚠️ **插件兼容性**:某些插件可能需要更新以支持新版本
|
||||
5. ⚠️ **配置检查**:升级后检查配置文件,确保所有设置正确
|
||||
|
||||
## 相关文件
|
||||
|
||||
- 升级脚本: `/home/renjianbo/gerrit/upgrade_gerrit.sh`
|
||||
- 安装脚本: `/home/renjianbo/gerrit/install_gerrit.sh`
|
||||
- 重新安装脚本: `/home/renjianbo/gerrit/reinstall_gerrit.sh`
|
||||
- Gerrit 目录: `/home/renjianbo/gerrit_install/`
|
||||
|
||||
## 技术支持
|
||||
|
||||
如果遇到问题,可以:
|
||||
1. 查看日志文件
|
||||
2. 检查备份数据
|
||||
3. 参考 Gerrit 官方文档: https://www.gerritcodereview.com/
|
||||
|
||||
Reference in New Issue
Block a user