55 lines
1.6 KiB
Bash
Executable File
55 lines
1.6 KiB
Bash
Executable File
#!/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 " ✅ 进程监控和健康检查"
|