#!/bin/bash set -e echo "🚀 启动Novalon管理系统测试环境..." # 检查Docker是否安装 if ! command -v docker &> /dev/null; then echo "❌ Docker未安装,请先安装Docker" exit 1 fi if ! command -v docker-compose &> /dev/null; then echo "❌ Docker Compose未安装,请先安装Docker Compose" exit 1 fi # 清理旧的容器和镜像 echo "🧹 清理旧的容器..." docker-compose down -v 2>/dev/null || true # 构建并启动服务 echo "🏗️ 构建并启动服务..." docker-compose up -d --build # 等待服务启动 echo "⏳ 等待服务启动..." sleep 10 # 检查服务状态 echo "📊 检查服务状态..." docker-compose ps # 健康检查 echo "🏥 执行健康检查..." # 检查PostgreSQL echo "检查PostgreSQL..." for i in {1..30}; do if docker-compose exec -T postgres pg_isready -U novalon -d manage_system &> /dev/null; then echo "✅ PostgreSQL已就绪" break fi echo "等待PostgreSQL启动... ($i/30)" sleep 2 done # 检查后端服务 echo "检查后端服务..." for i in {1..30}; do if curl -f http://localhost:8084/actuator/health &> /dev/null; then echo "✅ 后端服务已就绪" break fi echo "等待后端服务启动... ($i/30)" sleep 2 done # 检查前端服务 echo "检查前端服务..." for i in {1..30}; do if curl -f http://localhost:3001 &> /dev/null; then echo "✅ 前端服务已就绪" break fi echo "等待前端服务启动... ($i/30)" sleep 2 done echo "" echo "🎉 测试环境启动完成!" echo "" echo "📋 服务访问地址:" echo " - 前端: http://localhost:3001" echo " - 后端: http://localhost:8084" echo " - 数据库: localhost:55432" echo "" echo "📝 查看日志:" echo " docker-compose logs -f" echo "" echo "🛑 停止环境:" echo " docker-compose down"