imetting_frontend/deploy-prod-nobuild.sh

55 lines
1.6 KiB
Bash
Raw Normal View History

2025-09-11 05:16:24 +00:00
#!/bin/bash
echo "🚀 开始部署iMeeting前端服务PM2模式..."
# 手动构建dist目录
if [ ! -d "dist" ]; then
echo "❌ 构建失败dist目录未生成"
exit 1
fi
echo "✅ 前端构建完成开始Docker部署..."
# 创建日志目录
mkdir -p logs
# 停止并删除现有容器
echo "📦 停止现有容器..."
2025-09-24 10:05:44 +00:00
docker compose -f docker-compose.prod.yml down
2025-09-11 05:16:24 +00:00
# 构建新镜像
echo "🔨 构建Docker镜像..."
2025-09-24 10:05:44 +00:00
docker compose --progress=plain -f docker-compose.prod.yml build --no-cache
2025-09-11 05:16:24 +00:00
# 启动服务
echo "▶️ 启动PM2服务..."
2025-09-24 10:05:44 +00:00
docker compose -f docker-compose.prod.yml up -d
2025-09-11 05:16:24 +00:00
# 检查服务状态
echo "🔍 检查服务状态..."
sleep 15
2025-09-24 10:05:44 +00:00
docker compose -f docker-compose.prod.yml ps
2025-09-11 05:16:24 +00:00
# 检查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 " ✅ 详细日志管理"
2025-09-24 10:05:44 +00:00
echo " ✅ 进程监控和健康检查"