QAUP_Management/deploy/DeployGuide.md
2025-11-20 15:35:18 +08:00

3.9 KiB
Raw Blame History

QAUP 系统部署和更新说明

一、打包环境操作

1. 生成程序更新文件

修改代码后生成仅包含应用jar的更新包

./deploy/package-update.sh

输出

  • qaup-admin.jar - 应用程序
  • UPDATE-INSTRUCTIONS.md - 更新说明
  • VERSION-INFO.txt - 版本信息

注意如需单独jar文件可直接从更新包中提取。

2. 生成完整部署包

生成包含所有组件的完整部署包(首次部署或重大更新):

./deploy/package-all.sh

二、生产环境操作

1. 首次部署

步骤

  1. 解压部署包
    mkdir qaup-deploy
    

tar -xzf qaup-deploy-xxx.tar.gz -C qaup-deploy cd qaup-deploy


2. **执行部署**
```bash
./deploy-all.sh
  1. 验证部署
    docker compose ps              # 检查服务状态
    curl http://localhost:8080/actuator/health  # 验证应用健康
    

2. 程序更新仅更新jar文件

前置准备

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

更新步骤

# 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. 配置文件更新

如果需要更新配置文件:

cd qaup-deploy

# 1. 备份当前配置
cp config.yml config.yml.backup

# 2. 编辑配置文件
vi config.yml

# 3. 重启应用
   docker compose restart qaup-app

4. 更新失败处理

自动回滚

更新失败时脚本会自动尝试回滚。

手动回滚

cd qaup-deploy

# 1. 停止应用
   docker compose stop qaup-app

# 2. 恢复备份文件
cp app.jar.backup.* app.jar

# 3. 启动应用
   docker compose start qaup-app

问题排查

# 查看应用日志
docker compose logs qaup-app

# 查看所有服务状态
docker compose ps -a

5. 完全重新部署

如果需要重新部署整个系统(包括更新镜像、配置):

方案A不保留数据

cd qaup-deploy

# 1. 清理旧环境
   docker compose down
rm -rf data/  # 注意:会删除所有数据

# 2. 重新部署
./deploy-all.sh

方案B保留数据

# 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: 检查端口和应用日志:

   docker compose logs qaup-app
netstat -tlnp | grep 8080

Q: 数据库连接失败?

A: 检查数据库服务状态:

   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 - 本说明文档