Files
everything-is-suitable/everything-is-suitable-test/scripts/start-test-env.sh
T
张翔 08ea5fbe98 feat(admin): 添加用户管理相关文件
添加用户管理视图、API和状态管理文件
2026-03-28 14:37:29 +08:00

79 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "========================================="
echo " 启动测试环境"
echo "========================================"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
check_port() {
local port=$1
if lsof -Pi :$port -sTCP:LISTEN -t >/dev/null 2>&1; then
echo "端口 $port 已被占用"
return 1
fi
return 0
}
echo "----------------------------------------"
echo " 检查服务状态..."
echo "----------------------------------------"
API_RUNNING=false
ADMIN_RUNNING=false
if lsof -Pi :8080 -sTCP:LISTEN -t >/dev/null 2>&1; then
echo "API服务已在运行 (端口 8080)"
API_RUNNING=true
fi
if lsof -Pi :5173 -sTCP:LISTEN -t >/dev/null 2>&1; then
echo "Admin服务已在运行 (端口 5173)"
ADMIN_RUNNING=true
fi
if [ "$API_RUNNING" = true ] && [ "$ADMIN_RUNNING" = true ]; then
echo "所有服务已在运行"
bash "$SCRIPT_DIR/check-services.sh"
exit 0
fi
echo "----------------------------------------"
echo " 启动 API 服务..."
echo "----------------------------------------"
if [ "$API_RUNNING" = false ]; then
cd "$PROJECT_ROOT/../everything-is-suitable-api/everything-is-suitable-app"
nohup mvn spring-boot:run -Dspring-boot.run.profiles=dev > /tmp/api.log 2>&1 &
API_PID=$!
echo "API服务启动中... (PID: $API_PID)"
sleep 30
else
echo "API服务已在运行"
fi
echo "----------------------------------------"
echo " 启动 Admin 服务..."
echo "----------------------------------------"
if [ "$ADMIN_RUNNING" = false ]; then
cd "$PROJECT_ROOT/../everything-is-suitable-admin"
nohup npm run dev > /tmp/admin.log 2>&1 &
ADMIN_PID=$!
echo "Admin服务启动中... (PID: $ADMIN_PID)"
sleep 10
else
echo "Admin服务已在运行"
fi
echo "----------------------------------------"
echo " 验证服务健康..."
echo "----------------------------------------"
bash "$SCRIPT_DIR/check-services.sh"
echo "========================================="
echo " ✅ 所有服务启动成功!"
echo "========================================="
echo "API服务日志: /tmp/api.log"
echo "Admin服务日志: /tmp/admin.log"