118 lines
2.9 KiB
Markdown
118 lines
2.9 KiB
Markdown
# QAUP 构建打包指南
|
||
|
||
## 方案:macOS构建 + Ubuntu打包
|
||
|
||
### 开发环境操作(macOS)
|
||
|
||
#### 1. 构建jar文件
|
||
```bash
|
||
# 在项目根目录
|
||
mvn clean package -DskipTests
|
||
```
|
||
|
||
#### 2. 上传jar文件到打包服务器
|
||
```bash
|
||
# 方式一:使用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文件已上传
|
||
```bash
|
||
ls -la qaup-admin/target/qaup-admin.jar
|
||
```
|
||
|
||
#### 2. 执行打包
|
||
```bash
|
||
./deploy/simple/package-server.sh
|
||
```
|
||
|
||
#### 3. 下载部署包
|
||
```bash
|
||
# 生成的文件类似:qaup-deploy-20250105-143022.tar.gz
|
||
ls -la qaup-deploy-*.tar.gz
|
||
```
|
||
|
||
## 日常更新流程
|
||
|
||
### 程序更新(推荐)
|
||
```bash
|
||
# 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脚本
|
||
- 迁移失败时应用会启动失败,确保数据一致性
|
||
|
||
### 完整重新部署
|
||
```bash
|
||
# macOS → 打包服务器 → 生产服务器
|
||
# 按照上述完整流程操作
|
||
```
|
||
|
||
## 服务器配置要求
|
||
|
||
### 打包服务器(Ubuntu)
|
||
- ✅ Docker已安装
|
||
- ✅ 网络连接正常(拉取镜像)
|
||
- ✅ 足够磁盘空间(约2GB)
|
||
|
||
### 生产服务器(Ubuntu)
|
||
- ✅ Docker已安装
|
||
- ✅ 解压工具(unzip)
|
||
|
||
## 故障排除
|
||
|
||
### Q: Docker拉取镜像很慢
|
||
A: 使用国内镜像加速器,脚本已配置daocloud加速器
|
||
|
||
### Q: jar文件上传失败
|
||
A: 检查网络连接和服务器路径是否正确
|
||
|
||
### Q: 打包过程中断
|
||
A: 重新运行package-server.sh脚本,会自动清理并重新开始
|
||
|
||
### Q: 数据库迁移失败
|
||
A: 检查应用日志中的Flyway错误信息:
|
||
```bash
|
||
docker compose logs qaup-app | grep -i flyway
|
||
```
|
||
常见问题:
|
||
- 数据库连接失败:检查数据库服务是否正常
|
||
- 迁移脚本错误:检查SQL语法和数据库权限
|
||
- 版本冲突:可能需要手动修复迁移历史表
|
||
|
||
### Q: 应用启动失败(Flyway相关)
|
||
A: 查看详细错误信息:
|
||
```bash
|
||
# 查看应用日志
|
||
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` - 程序更新 |