QAUP_Management/deploy/BUILD-GUIDE.md

2.9 KiB
Raw Blame History

QAUP 构建打包指南

方案macOS构建 + Ubuntu打包

开发环境操作macOS

1. 构建jar文件

# 在项目根目录
mvn clean package -DskipTests

2. 上传jar文件到打包服务器

# 方式一使用scp
scp qaup-admin/target/qaup-admin.jar code@your-server:/home/code/apps/QAUP_Management/qaup-admin/target/

# 方式二:使用自动化脚本(需要先配置服务器信息)
./deploy/simple/build-and-upload.sh

打包服务器操作Ubuntu

1. 确认jar文件已上传

ls -la qaup-admin/target/qaup-admin.jar

2. 执行打包

./deploy/simple/package-server.sh

3. 下载部署包

# 生成的文件类似qaup-deploy-20250105-143022.tar.gz
ls -la qaup-deploy-*.tar.gz

日常更新流程

程序更新(推荐)

# macOS开发环境
mvn clean package -DskipTests
scp qaup-admin/target/qaup-admin.jar production-server:/path/to/qaup-deploy/new-app.jar

# 生产服务器
cd qaup-deploy
./update.sh

注意: 从v1.0.1版本开始系统集成了Flyway数据库迁移功能

  • 应用启动时会自动执行数据库迁移
  • 新版本的数据库结构变更会自动应用
  • 无需手动执行SQL脚本
  • 迁移失败时应用会启动失败,确保数据一致性

完整重新部署

# macOS → 打包服务器 → 生产服务器
# 按照上述完整流程操作

服务器配置要求

打包服务器Ubuntu

  • Docker已安装
  • 网络连接正常(拉取镜像)
  • 足够磁盘空间约2GB

生产服务器Ubuntu

  • Docker已安装
  • 解压工具unzip

故障排除

Q: Docker拉取镜像很慢

A: 使用国内镜像加速器脚本已配置daocloud加速器

Q: jar文件上传失败

A: 检查网络连接和服务器路径是否正确

Q: 打包过程中断

A: 重新运行package-server.sh脚本会自动清理并重新开始

Q: 数据库迁移失败

A: 检查应用日志中的Flyway错误信息

docker compose logs qaup-app | grep -i flyway

常见问题:

  • 数据库连接失败:检查数据库服务是否正常
  • 迁移脚本错误检查SQL语法和数据库权限
  • 版本冲突:可能需要手动修复迁移历史表

Q: 应用启动失败Flyway相关

A: 查看详细错误信息:

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

# 检查数据库迁移状态
docker exec -it qaup-postgres psql -U qaup qaup -c "SELECT * FROM flyway_schema_history ORDER BY installed_rank;"

脚本说明

开发环境脚本:

  • build-and-upload.sh - 自动构建和上传(需配置服务器信息)
  • 手动操作:mvn package + scp

打包服务器脚本:

  • package-server.sh - 使用已有jar文件进行打包

生产服务器脚本:

  • deploy.sh - 首次部署
  • update.sh - 程序更新