Files
java-template/client/create-package.sh
T
2025-09-06 15:29:18 +08:00

164 lines
3.7 KiB
Bash
Executable File

#!/bin/bash
# 创建客户端部署包
set -e
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
PACKAGE_NAME="ljwx-client-v2.0.1"
PACKAGE_DIR="${PACKAGE_NAME}"
echo -e "${BLUE}📦 创建 LJWX 客户端部署包${NC}"
echo ""
# 创建打包目录
echo -e "${YELLOW}📁 创建打包目录...${NC}"
rm -rf "$PACKAGE_DIR"
mkdir -p "$PACKAGE_DIR"
# 复制文件
echo -e "${YELLOW}📋 复制文件...${NC}"
cp start.sh "$PACKAGE_DIR/"
cp configure.sh "$PACKAGE_DIR/"
cp monitor.sh "$PACKAGE_DIR/"
cp README.md "$PACKAGE_DIR/"
# 创建示例配置文件
echo -e "${YELLOW}⚙️ 创建示例配置...${NC}"
cat > "$PACKAGE_DIR/.env.example" << 'EOF'
# LJWX 系统配置示例
LJWX_VERSION=2.0.1
REGISTRY=crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx
# 数据库配置
MYSQL_ROOT_PASSWORD=123456
MYSQL_DATABASE=test
MYSQL_USER=ljwx
MYSQL_PASSWORD=123456
# 服务端口配置
LJWX_BOOT_PORT=9998
LJWX_BIGSCREEN_PORT=5000
LJWX_ADMIN_PORT=80
MYSQL_PORT=3306
REDIS_PORT=6379
# 时区配置
TZ=Asia/Shanghai
# 日志配置
LOG_LEVEL=INFO
EOF
# 创建快速开始脚本
cat > "$PACKAGE_DIR/quick-start.sh" << 'EOF'
#!/bin/bash
# LJWX 快速开始脚本
echo "🚀 LJWX 灵境万象健康管理系统 - 快速开始"
echo ""
# 检查Docker
if ! command -v docker &> /dev/null; then
echo "❌ Docker 未安装,请先安装 Docker"
echo " 安装指南: https://docs.docker.com/get-docker/"
exit 1
fi
# 运行配置向导
if [ ! -f .env ]; then
echo "📝 运行配置向导..."
./configure.sh
fi
# 启动系统
echo "🚀 启动系统..."
./start.sh
echo ""
echo "✅ 快速开始完成!"
EOF
chmod +x "$PACKAGE_DIR/quick-start.sh"
# 创建卸载脚本
cat > "$PACKAGE_DIR/uninstall.sh" << 'EOF'
#!/bin/bash
# LJWX 卸载脚本
echo "🗑️ LJWX 系统卸载"
echo ""
read -p "⚠️ 这将完全删除LJWX系统和所有数据,确认继续?(yes/no): " confirm
if [ "$confirm" = "yes" ]; then
echo "🛑 停止服务..."
./start.sh stop 2>/dev/null || true
echo "🧹 清理系统..."
./start.sh clean 2>/dev/null || true
echo "📁 删除配置和数据..."
rm -rf data/ logs/ config/ backups/
rm -f .env docker-compose.yml
echo "✅ 卸载完成"
else
echo "❌ 卸载已取消"
fi
EOF
chmod +x "$PACKAGE_DIR/uninstall.sh"
# 创建版本信息文件
cat > "$PACKAGE_DIR/VERSION" << EOF
LJWX 灵境万象健康管理系统
版本: 2.0.1
构建日期: $(date '+%Y-%m-%d')
打包时间: $(date '+%Y-%m-%d %H:%M:%S')
组件版本:
- ljwx-mysql: 2.0.1
- ljwx-redis: 2.0.1
- ljwx-boot: 2.0.1
- ljwx-bigscreen: 2.0.1
- ljwx-admin: 2.0.1
系统要求:
- Docker 20.0+
- Docker Compose 2.0+
- 2GB+ 内存
- 10GB+ 磁盘空间
EOF
# 创建压缩包
echo -e "${YELLOW}📦 创建压缩包...${NC}"
tar -czf "${PACKAGE_NAME}.tar.gz" "$PACKAGE_DIR"
# 计算文件大小和校验和
PACKAGE_SIZE=$(du -h "${PACKAGE_NAME}.tar.gz" | cut -f1)
PACKAGE_MD5=$(md5sum "${PACKAGE_NAME}.tar.gz" | cut -d' ' -f1)
echo ""
echo -e "${GREEN}✅ 部署包创建完成!${NC}"
echo ""
echo -e "${BLUE}📦 包信息:${NC}"
echo -e " 文件名: ${GREEN}${PACKAGE_NAME}.tar.gz${NC}"
echo -e " 大小: ${GREEN}${PACKAGE_SIZE}${NC}"
echo -e " MD5: ${GREEN}${PACKAGE_MD5}${NC}"
echo ""
echo -e "${BLUE}📋 客户部署步骤:${NC}"
echo -e " 1. 上传 ${YELLOW}${PACKAGE_NAME}.tar.gz${NC} 到客户服务器"
echo -e " 2. 解压: ${YELLOW}tar -xzf ${PACKAGE_NAME}.tar.gz${NC}"
echo -e " 3. 进入目录: ${YELLOW}cd ${PACKAGE_NAME}${NC}"
echo -e " 4. 快速开始: ${YELLOW}./quick-start.sh${NC}"
echo ""
echo -e "${BLUE}📖 详细说明请查看包内的 README.md${NC}"
# 清理临时目录
rm -rf "$PACKAGE_DIR"