#!/bin/bash echo "=========================================" echo "测试环境检查和启动脚本" echo "=========================================" # 检查后端服务 echo "检查后端服务..." BACKEND_RUNNING=false for i in {1..30}; do if curl -s http://localhost:8084/actuator/health > /dev/null 2>&1; then echo "✅ 后端服务运行正常 (端口 8084)" BACKEND_RUNNING=true break fi echo "等待后端服务启动... ($i/30)" sleep 2 done if [ "$BACKEND_RUNNING" = false ]; then echo "❌ 后端服务启动失败" echo "正在启动后端服务..." cd novalon-manage-api nohup mvn spring-boot:run -pl manage-app > /tmp/backend.log 2>&1 & BACKEND_PID=$! echo "后端服务启动中,PID: $BACKEND_PID" # 等待后端服务启动 for i in {1..60}; do if curl -s http://localhost:8084/actuator/health > /dev/null 2>&1; then echo "✅ 后端服务启动成功" break fi echo "等待后端服务... ($i/60)" sleep 2 done cd .. fi # 检查前端服务 echo "" echo "检查前端服务..." FRONTEND_RUNNING=false for i in {1..30}; do if curl -s http://localhost:3001 > /dev/null 2>&1; then echo "✅ 前端服务运行正常 (端口 3001)" FRONTEND_RUNNING=true break fi echo "等待前端服务启动... ($i/30)" sleep 2 done if [ "$FRONTEND_RUNNING" = false ]; then echo "❌ 前端服务启动失败" echo "正在启动前端服务..." cd novalon-manage-web nohup npm run dev > /tmp/frontend.log 2>&1 & FRONTEND_PID=$! echo "前端服务启动中,PID: $FRONTEND_PID" # 等待前端服务启动 for i in {1..30}; do if curl -s http://localhost:3001 > /dev/null 2>&1; then echo "✅ 前端服务启动成功" break fi echo "等待前端服务... ($i/30)" sleep 2 done cd .. fi echo "" echo "=========================================" echo "服务状态检查" echo "=========================================" # 最终检查 echo "后端服务状态:" if curl -s http://localhost:8084/actuator/health > /dev/null 2>&1; then echo "✅ 后端服务运行正常" else echo "❌ 后端服务未运行" fi echo "前端服务状态:" if curl -s http://localhost:3001 > /dev/null 2>&1; then echo "✅ 前端服务运行正常" else echo "❌ 前端服务未运行" fi echo "" echo "=========================================" echo "环境准备完成,可以开始测试" echo "========================================="