QAUP_Management/deploy/simple/package-server.sh
2025-08-05 16:49:16 +08:00

82 lines
2.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# QAUP 服务器端打包脚本
# 在Ubuntu打包服务器上运行使用已构建的jar文件进行打包
set -e
# 颜色输出
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 服务器端打包脚本 ==="
# 检查jar文件是否存在
JAR_FILE="qaup-admin/target/qaup-admin.jar"
if [ ! -f "$JAR_FILE" ]; then
print_message $RED "❌ 未找到jar文件: $JAR_FILE"
echo "请先在macOS上构建jar文件并上传到服务器"
echo "或者将jar文件放到正确位置"
exit 1
fi
print_message $GREEN "✓ 找到jar文件: $JAR_FILE"
# 检查Docker是否可用
if ! command -v docker &> /dev/null; then
print_message $RED "❌ Docker 未安装"
exit 1
fi
# 准备镜像版本
POSTGRES_IMAGE="m.daocloud.io/docker.io/postgis/postgis:17-3.5-alpine"
REDIS_IMAGE="m.daocloud.io/docker.io/library/redis:8.0-alpine"
OPENJDK_IMAGE="m.daocloud.io/docker.io/library/eclipse-temurin:17-jre"
print_message $BLUE "拉取基础镜像..."
docker pull --platform linux/amd64 $POSTGRES_IMAGE
docker pull --platform linux/amd64 $REDIS_IMAGE
docker pull --platform linux/amd64 $OPENJDK_IMAGE
# 导出镜像
print_message $BLUE "导出镜像..."
mkdir -p qaup-deploy
docker save $POSTGRES_IMAGE $REDIS_IMAGE $OPENJDK_IMAGE | gzip > qaup-deploy/images.tar.gz
# 复制必要文件
print_message $BLUE "准备部署文件..."
cp "$JAR_FILE" qaup-deploy/app.jar
cp deploy/simple/docker-compose.yml qaup-deploy/
cp deploy/simple/config.yml qaup-deploy/
# 复制数据库相关文件
mkdir -p qaup-deploy/sql
cp deploy/docker/postgres/qaup_database_schema.sql qaup-deploy/sql/ 2>/dev/null || echo "⚠ 数据库架构文件不存在"
cp deploy/docker/postgres/export/initial_data_complete.sql qaup-deploy/sql/ 2>/dev/null || echo "⚠ 完整初始数据文件不存在"
# 创建数据库初始化脚本
./deploy/simple/create-init-sql.sh
cp deploy/simple/init.sql qaup-deploy/
cp deploy/simple/deploy.sh qaup-deploy/
cp deploy/simple/update.sh qaup-deploy/
cp deploy/simple/DeployGuide.md qaup-deploy/
# 创建部署包
PACKAGE_NAME="qaup-deploy-$(date +%Y%m%d-%H%M%S).tar.gz"
tar -czf "$PACKAGE_NAME" -C qaup-deploy .
print_message $GREEN "✅ 打包完成: $PACKAGE_NAME"
print_message $BLUE "部署包大小: $(du -sh $PACKAGE_NAME | cut -f1)"
echo ""
echo "部署说明:"
echo "1. 将 $PACKAGE_NAME 传输到目标服务器"
echo "2. mkdir qaup-deploy && tar -xzf $PACKAGE_NAME -C qaup-deploy"
echo "3. cd qaup-deploy && ./deploy.sh"