190 lines
3.9 KiB
Markdown
190 lines
3.9 KiB
Markdown
# QAUP 系统部署和更新说明
|
||
|
||
## 一、打包环境操作
|
||
|
||
### 1. 生成程序更新文件
|
||
修改代码后,生成仅包含应用jar的更新包:
|
||
```bash
|
||
./deploy/package-update.sh
|
||
```
|
||
**输出**:
|
||
- `qaup-admin.jar` - 应用程序
|
||
- `UPDATE-INSTRUCTIONS.md` - 更新说明
|
||
- `VERSION-INFO.txt` - 版本信息
|
||
|
||
**注意**:如需单独jar文件,可直接从更新包中提取。
|
||
|
||
### 2. 生成完整部署包
|
||
生成包含所有组件的完整部署包(首次部署或重大更新):
|
||
```bash
|
||
./deploy/package-all.sh
|
||
```
|
||
|
||
---
|
||
|
||
## 二、生产环境操作
|
||
|
||
### 1. 首次部署
|
||
|
||
#### 步骤
|
||
1. **解压部署包**:
|
||
```bash
|
||
mkdir qaup-deploy
|
||
tar -xzf qaup-deploy-xxx.tar.gz -C qaup-deploy
|
||
cd qaup-deploy
|
||
```
|
||
|
||
2. **执行部署**:
|
||
```bash
|
||
./deploy-all.sh
|
||
```
|
||
|
||
3. **验证部署**:
|
||
```bash
|
||
docker compose ps # 检查服务状态
|
||
curl http://localhost:8080/actuator/health # 验证应用健康
|
||
```
|
||
|
||
### 2. 程序更新(仅更新jar文件)
|
||
|
||
#### 前置准备
|
||
```bash
|
||
cd qaup-deploy
|
||
|
||
# 1. 确认当前系统状态
|
||
docker compose ps
|
||
|
||
# 2. 备份重要数据(推荐)
|
||
docker exec qaup-postgres pg_dump -U qaup qaup > backup-$(date +%Y%m%d).sql
|
||
cp config.yml config.yml.backup
|
||
```
|
||
|
||
#### 更新步骤
|
||
```bash
|
||
# 1. 准备新版本文件(二选一)
|
||
# 方案A:使用完整更新包
|
||
cp /path/to/qaup-update-xxx/qaup-admin.jar new-app.jar
|
||
|
||
# 方案B:直接使用jar文件
|
||
cp /path/to/qaup-admin-xxx.jar new-app.jar
|
||
|
||
# 2. 执行更新
|
||
./deploy-update.sh
|
||
|
||
# 3. 验证更新
|
||
docker compose ps # 检查服务状态
|
||
docker compose logs -f qaup-app # 查看应用日志
|
||
curl http://localhost:8080/actuator/health # 验证应用健康
|
||
```
|
||
|
||
### 3. 配置文件更新
|
||
如果需要更新配置文件:
|
||
```bash
|
||
cd qaup-deploy
|
||
|
||
# 1. 备份当前配置
|
||
cp config.yml config.yml.backup
|
||
|
||
# 2. 编辑配置文件
|
||
vi config.yml
|
||
|
||
# 3. 重启应用
|
||
docker compose restart qaup-app
|
||
```
|
||
|
||
### 4. 更新失败处理
|
||
|
||
#### 自动回滚
|
||
更新失败时脚本会自动尝试回滚。
|
||
|
||
#### 手动回滚
|
||
```bash
|
||
cd qaup-deploy
|
||
|
||
# 1. 停止应用
|
||
docker compose stop qaup-app
|
||
|
||
# 2. 恢复备份文件
|
||
cp app.jar.backup.* app.jar
|
||
|
||
# 3. 启动应用
|
||
docker compose start qaup-app
|
||
```
|
||
|
||
#### 问题排查
|
||
```bash
|
||
# 查看应用日志
|
||
docker compose logs qaup-app
|
||
|
||
# 查看所有服务状态
|
||
docker compose ps -a
|
||
```
|
||
|
||
### 5. 完全重新部署
|
||
如果需要重新部署整个系统(包括更新镜像、配置):
|
||
|
||
#### 方案A:不保留数据
|
||
```bash
|
||
cd qaup-deploy
|
||
|
||
# 1. 清理旧环境
|
||
docker compose down
|
||
rm -rf data/ # 注意:会删除所有数据
|
||
|
||
# 2. 重新部署
|
||
./deploy-all.sh
|
||
```
|
||
|
||
#### 方案B:保留数据
|
||
```bash
|
||
# 1. 备份旧数据
|
||
cd qaup-deploy
|
||
docker exec qaup-postgres pg_dump -U qaup qaup > ../data-backup.sql
|
||
|
||
# 2. 清理旧环境
|
||
docker compose down
|
||
|
||
# 3. 部署新系统
|
||
mkdir qaup-deploy-new
|
||
tar -xzf qaup-deploy-new-xxx.tar.gz -C qaup-deploy-new
|
||
cd qaup-deploy-new
|
||
./deploy-all.sh
|
||
|
||
# 4. 恢复数据
|
||
docker exec -i qaup-postgres psql -U qaup qaup < ../data-backup.sql
|
||
```
|
||
|
||
## 三、常见问题
|
||
|
||
### Q: 更新后无法访问系统?
|
||
A: 检查端口和应用日志:
|
||
```bash
|
||
docker compose logs qaup-app
|
||
netstat -tlnp | grep 8080
|
||
```
|
||
|
||
### Q: 数据库连接失败?
|
||
A: 检查数据库服务状态:
|
||
```bash
|
||
docker compose logs qaup-postgres
|
||
docker exec qaup-postgres pg_isready -U qaup
|
||
```
|
||
|
||
## 四、更新记录
|
||
建议记录每次更新信息:
|
||
```
|
||
时间 | 版本号 | 人员 | 类型 | 结果 | 问题
|
||
2025-01-05 | v1.0.1→v1.0.2 | 张三 | 程序更新 | 成功 | -
|
||
2025-01-10 | v1.0.2→v1.0.3 | 李四 | 程序更新 | 失败 | 配置错误,已回滚
|
||
```
|
||
|
||
## 五、文件说明
|
||
|
||
### 打包环境脚本
|
||
- `deploy/package-update.sh` - 生成程序更新包
|
||
- `deploy/package-all.sh` - 生成完整部署包
|
||
|
||
### 生产环境脚本
|
||
- `deploy-all.sh` - 首次部署/完全重新部署
|
||
- `deploy-update.sh` - 程序更新脚本
|
||
- `DeployGuide.md` - 本说明文档 |