kindergarten_java/deploy.sh
En de264d3298 refactor(后端): 重构包名从 com.reading.platform 到 com.lesingle.edu
- 修改 pom.xml 中的 groupId
- 移动所有 Java 文件到新包路径 com/lesingle/edu
- 更新所有 Java 文件的 package 和 import 语句 (438 个文件)
- 更新配置文件中的日志包名引用 (application-*.yml, logback-spring.xml)
- 更新 @MapperScan 注解路径
- 更新 CLAUDE.md 文档中的目录结构说明

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 12:02:20 +08:00

162 lines
4.3 KiB
Bash
Raw Permalink 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
#===============================================================================
# 少儿智慧阅读 - 一键部署到宝塔面板
#
# 使用方法:
# ./deploy.sh your-server-ip
# 或
# ./deploy.sh root@your-server-ip
#===============================================================================
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# 颜色
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
log_info() { echo -e "${GREEN}[INFO]${NC} $1"; }
log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
log_error() { echo -e "${RED}[ERROR]${NC} $1"; }
log_step() { echo -e "${BLUE}[STEP]${NC} $1"; }
# 检查参数
if [ -z "$1" ]; then
echo ""
echo "=============================================="
echo " 少儿智慧阅读"
echo " 一键部署到宝塔面板"
echo "=============================================="
echo ""
echo "使用方法:"
echo " $0 your-server-ip"
echo " $0 root@your-server-ip"
echo ""
echo "示例:"
echo " $0 8.148.151.56"
echo " $0 root@8.148.151.56"
echo ""
exit 1
fi
# 解析参数
REMOTE_HOST="$1"
REMOTE_USER="root"
if [[ "$1" == *"@"* ]]; then
REMOTE_USER=$(echo "$1" | cut -d'@' -f1)
REMOTE_HOST=$(echo "$1" | cut -d'@' -f2)
fi
echo ""
echo "=============================================="
echo " 一键部署到宝塔面板"
echo "=============================================="
echo ""
echo " 服务器:$REMOTE_USER@$REMOTE_HOST"
echo ""
# 检查 SSH 连接
log_step "检查 SSH 连接..."
if ! ssh -o StrictHostKeyChecking=no "$REMOTE_USER@$REMOTE_HOST" "echo '连接成功'" 2>/dev/null; then
log_error "SSH 连接失败,请检查:"
echo " 1. 服务器 IP 是否正确"
echo " 2. SSH 是否启用(默认端口 22"
echo " 3. 密码/密钥是否正确"
echo ""
echo " 如果是密码登录,请先执行:"
echo " ssh-copy-id $REMOTE_USER@$REMOTE_HOST"
exit 1
fi
log_info "SSH 连接成功"
# 检查远程服务器
log_step "检查远程服务器..."
ssh "$REMOTE_USER@$REMOTE_HOST" << 'ENDSSH'
# 检查是否安装了宝塔
if [ -d "/www/server/panel" ]; then
echo "宝塔面板:已安装"
else
echo "警告:未检测到宝塔面板"
fi
# 检查 JDK
if command -v java &> /dev/null; then
java_version=$(java -version 2>&1 | head -n 1)
echo "Java: $java_version"
else
echo "警告:未安装 Java"
fi
# 检查 MySQL
if command -v mysql &> /dev/null; then
echo "MySQL: 已安装"
else
echo "警告:未安装 MySQL"
fi
# 检查 Nginx
if command -v nginx &> /dev/null; then
echo "Nginx: 已安装"
fi
# 检查磁盘空间
disk_used=$(df -h / | tail -1 | awk '{print $5}')
echo "磁盘使用:$disk_used"
ENDSSH
echo ""
echo "=============================================="
echo " 部署前检查完成"
echo "=============================================="
echo ""
echo " 请确认:"
echo " 1. 宝塔面板已安装并可以访问"
echo " 2. 已在宝塔中安装 MySQL、Redis、Nginx"
echo " 3. 已创建数据库和用户(见 DEPLOY_BAOTA.md"
echo " 4. JDK 17 已安装(或通过宝塔安装)"
echo ""
read -p "是否继续部署?(y/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
# 部署后端
log_step "部署后端..."
export REMOTE_USER
export REMOTE_HOST
bash "$SCRIPT_DIR/deploy-backend.sh"
# 部署前端
log_step "部署前端..."
bash "$SCRIPT_DIR/deploy-frontend.sh"
echo ""
echo "=============================================="
echo " 部署完成!"
echo "=============================================="
echo ""
echo " 下一步操作:"
echo ""
echo " 1. 在宝塔面板配置 Nginx 反向代理"
echo " 网站 → 设置 → 配置文件"
echo " 参考 nginx-baota.conf 中的配置"
echo ""
echo " 2. 验证后端服务"
echo " ssh $REMOTE_USER@$REMOTE_HOST"
echo " curl http://localhost:8480/actuator/health"
echo ""
echo " 3. 访问前端页面"
echo " http://$REMOTE_HOST"
echo ""
echo " 4. 查看日志"
echo " 后端tail -f /www/wwwroot/reading-platform/logs/app.log"
echo " Nginx: tail -f /www/wwwlogs/你的域名.error.log"
echo ""
echo "=============================================="