#!/bin/bash echo "🚀 开始部署iMeeting前端服务(PM2模式)..." # 手动构建dist目录 if [ ! -d "dist" ]; then echo "❌ 构建失败!dist目录未生成" exit 1 fi echo "✅ 前端构建完成,开始Docker部署..." # 创建日志目录 mkdir -p logs # 停止并删除现有容器 echo "📦 停止现有容器..." docker compose -f docker-compose.prod.yml down # 构建新镜像 echo "🔨 构建Docker镜像..." docker compose --progress=plain -f docker-compose.prod.yml build --no-cache # 启动服务 echo "▶️ 启动PM2服务..." docker compose -f docker-compose.prod.yml up -d # 检查服务状态 echo "🔍 检查服务状态..." sleep 15 docker compose -f docker-compose.prod.yml ps # 检查PM2进程状态 echo "🔄 检查PM2进程状态..." docker exec imeeting-frontend pm2 list # 检查健康状态 echo "🏥 检查健康状态..." curl -f http://localhost:3001/health && echo "✅ 前端服务健康检查通过" || echo "❌ 前端服务健康检查失败" echo "" echo "🎉 部署完成!" echo "📱 前端服务访问地址: http://localhost:3001" echo "📊 查看日志: docker-compose -f docker-compose.prod.yml logs -f" echo "📈 查看PM2状态: docker exec imeeting-frontend pm2 monit" echo "📋 查看PM2进程: docker exec imeeting-frontend pm2 list" echo "🛑 停止服务: docker-compose -f docker-compose.prod.yml down" echo "" echo "💡 提示:PM2模式特性:" echo " ✅ 集群模式(2个实例)" echo " ✅ 自动重启和故障恢复" echo " ✅ 内存限制保护(1GB)" echo " ✅ 详细日志管理" echo " ✅ 进程监控和健康检查"