110 lines
2.5 KiB
Bash
Executable File
110 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# QAUP 程序更新打包脚本
|
|
# 用于生成仅包含jar文件的更新包
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
|
|
# 颜色输出
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
print_message() {
|
|
echo -e "${1}${2}${NC}"
|
|
}
|
|
|
|
print_message $BLUE "=== QAUP 程序更新打包 ==="
|
|
|
|
# 1. 构建应用
|
|
print_message $BLUE "构建应用..."
|
|
cd "$PROJECT_ROOT"
|
|
mvn clean package -DskipTests -q
|
|
|
|
# 检查jar文件是否生成成功
|
|
JAR_FILE="$PROJECT_ROOT/qaup-admin/target/qaup-admin.jar"
|
|
if [ ! -f "$JAR_FILE" ]; then
|
|
print_message $RED "❌ jar文件构建失败"
|
|
exit 1
|
|
fi
|
|
|
|
# 2. 创建更新包目录
|
|
UPDATE_DIR="qaup-update-$(date +%Y%m%d-%H%M%S)"
|
|
mkdir -p "$UPDATE_DIR"
|
|
|
|
# 3. 复制jar文件
|
|
print_message $BLUE "准备更新文件..."
|
|
cp "$JAR_FILE" "$UPDATE_DIR/qaup-admin.jar"
|
|
|
|
# 4. 创建更新说明
|
|
cat > "$UPDATE_DIR/UPDATE-INSTRUCTIONS.md" << 'EOF'
|
|
# QAUP 程序更新包
|
|
|
|
## 包含内容
|
|
- `qaup-admin.jar` - 新版本应用程序
|
|
|
|
## 更新步骤
|
|
|
|
### 1. 上传文件到服务器
|
|
将 `qaup-admin.jar` 上传到服务器的 qaup-deploy 目录
|
|
|
|
### 2. 重命名文件
|
|
```bash
|
|
cd qaup-deploy
|
|
cp qaup-admin.jar new-app.jar
|
|
```
|
|
|
|
### 3. 执行更新
|
|
```bash
|
|
./update.sh
|
|
```
|
|
|
|
### 4. 验证更新
|
|
```bash
|
|
# 检查服务状态
|
|
docker compose ps
|
|
|
|
# 检查应用日志
|
|
docker compose logs -f qaup-app
|
|
|
|
# 访问系统确认功能正常
|
|
curl http://localhost:8080/actuator/health
|
|
```
|
|
|
|
## 注意事项
|
|
- 更新前建议备份数据库
|
|
- 如果更新失败,脚本会自动回滚
|
|
- 如有问题,请查看完整的部署更新说明文档
|
|
EOF
|
|
|
|
# 5. 创建版本信息
|
|
cat > "$UPDATE_DIR/VERSION-INFO.txt" << EOF
|
|
QAUP 程序更新包
|
|
构建时间: $(date)
|
|
构建主机: $(hostname)
|
|
Git提交: $(git rev-parse --short HEAD 2>/dev/null || echo "未知")
|
|
Maven版本: $(mvn --version | head -1)
|
|
Java版本: $(java -version 2>&1 | head -1)
|
|
文件大小: $(du -sh "$JAR_FILE" | cut -f1)
|
|
文件MD5: $(md5sum "$JAR_FILE" | cut -d' ' -f1)
|
|
EOF
|
|
|
|
# 6. 创建更新包
|
|
PACKAGE_NAME="${UPDATE_DIR}.tar.gz"
|
|
tar -czf "$PACKAGE_NAME" "$UPDATE_DIR"
|
|
|
|
# 7. 清理临时目录
|
|
rm -rf "$UPDATE_DIR"
|
|
|
|
print_message $GREEN "✅ 程序更新包创建完成: $PACKAGE_NAME"
|
|
print_message $BLUE "包大小: $(du -sh "$PACKAGE_NAME" | cut -f1)"
|
|
|
|
echo ""
|
|
echo "使用说明:"
|
|
echo "1. 将 $PACKAGE_NAME 发送给客户"
|
|
echo "2. 客户解压后按照 UPDATE-INSTRUCTIONS.md 操作"
|
|
echo "3. 或者直接发送 qaup-admin.jar 文件给客户" |