| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/bin/bash
- # ============================================
- # Snapshot 一体化部署脚本 (Linux/Mac)
- # ============================================
- set -e # 遇到错误立即退出
- # 颜色定义
- RED='\033[0;31m'
- GREEN='\033[0;32m'
- YELLOW='\033[1;33m'
- BLUE='\033[0;34m'
- NC='\033[0m' # No Color
- # 设置项目根目录
- PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- FRONTEND_DIR="$PROJECT_ROOT/frontend"
- BACKEND_DIR="$PROJECT_ROOT/backend"
- STATIC_TARGET="$BACKEND_DIR/src/main/resources/static"
- echo -e "${BLUE}============================================${NC}"
- echo -e "${BLUE}Snapshot 一体化部署脚本${NC}"
- echo -e "${BLUE}============================================${NC}"
- echo ""
- echo "项目根目录: $PROJECT_ROOT"
- echo "前端目录: $FRONTEND_DIR"
- echo "后端目录: $BACKEND_DIR"
- echo "静态资源目标: $STATIC_TARGET"
- echo ""
- # 步骤1: 构建前端
- echo -e "${YELLOW}[1/4] 构建前端...${NC}"
- cd "$FRONTEND_DIR"
- npm install
- npm run build
- echo -e "${GREEN}前端构建完成${NC}"
- echo ""
- # 步骤2: 清理旧的静态资源
- echo -e "${YELLOW}[2/4] 清理旧的静态资源...${NC}"
- rm -rf "$STATIC_TARGET"
- mkdir -p "$STATIC_TARGET"
- echo -e "${GREEN}静态资源目录已清理${NC}"
- echo ""
- # 步骤3: 复制前端构建产物到后端
- echo -e "${YELLOW}[3/4] 复制前端文件到后端静态资源目录...${NC}"
- cp -r "$FRONTEND_DIR/dist/"* "$STATIC_TARGET/"
- echo -e "${GREEN}前端文件已复制到 $STATIC_TARGET${NC}"
- echo ""
- # 步骤4: 构建后端
- echo -e "${YELLOW}[4/4] 构建后端 JAR...${NC}"
- cd "$BACKEND_DIR"
- mvn clean package -DskipTests
- echo -e "${GREEN}后端构建完成${NC}"
- echo ""
- echo -e "${BLUE}============================================${NC}"
- echo -e "${GREEN} 部署完成!${NC}"
- echo -e "${BLUE}============================================${NC}"
- echo ""
- echo "JAR 文件: $BACKEND_DIR/target/snapshot-backend-1.0.0.jar"
- echo ""
- echo "启动命令:"
- echo " java -jar $BACKEND_DIR/target/snapshot-backend-1.0.0.jar"
- echo ""
- echo "或使用以下命令直接启动:"
- echo " cd $BACKEND_DIR && mvn spring-boot:run"
- echo -e "${BLUE}============================================${NC}"
|