2.9 KiB
2.9 KiB
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- 程序更新