M5-007: add plm-uat/scripts/start-uat.sh

This commit is contained in:
2026-04-07 07:32:41 +08:00
parent 720d982c22
commit cd63e66301

View File

@@ -0,0 +1,74 @@
#!/bin/bash
# ============================================================
# PLM UAT 环境启动脚本
# M5-007: UAT 环境搭建
# ============================================================
set -e
UAT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$UAT_DIR"
echo "============================================"
echo " PLM UAT 环境启动"
echo "============================================"
echo ""
# 检查 Docker
if ! command -v docker &> /dev/null; then
echo "❌ Docker 未安装"
exit 1
fi
echo "[1/5] 创建必要目录..."
mkdir -p logs/nginx backups
echo "[2/5] 检查环境变量..."
if [ ! -f .env ]; then
echo "❌ .env 文件不存在"
exit 1
fi
source .env
echo " ✅ 环境变量已加载"
echo "[3/5] 启动基础设施(数据库 + 缓存 + 存储)..."
docker compose up -d postgres-primary redis-master minio
echo " 等待数据库就绪..."
sleep 10
# 等待 PG 健康
for i in $(seq 1 30); do
if docker exec plm-uat-pg-primary pg_isready -U plm_admin -d plm_uat_db > /dev/null 2>&1; then
echo " ✅ PostgreSQL 就绪"
break
fi
echo " 等待 PostgreSQL... ($i/30)"
sleep 2
done
echo "[4/5] 启动副本 + 监控..."
docker compose up -d postgres-replica redis-replica
docker compose up -d prometheus grafana loki promtail node-exporter postgres-exporter redis-exporter
echo "[5/5] 启动后端 + Nginx..."
docker compose up -d backend nginx
echo ""
echo "============================================"
echo " ✅ PLM UAT 环境启动完成!"
echo "============================================"
echo ""
echo " 访问地址:"
echo " ┌─────────────────────────────────────────┐"
echo " │ 🌐 PLM 前端 http://localhost:28080 │"
echo " │ 📡 API http://localhost:28080/api/│"
echo " │ 📊 Grafana http://localhost:23000 │"
echo " │ 📈 Prometheus http://localhost:29090 │"
echo " │ 🗄️ MinIO http://localhost:29001 │"
echo " │ 🐘 PostgreSQL localhost:25432 │"
echo " │ 🔴 Redis localhost:26379 │"
echo " └─────────────────────────────────────────┘"
echo ""
echo " 查看状态: docker compose ps"
echo " 查看日志: docker compose logs -f backend"
echo ""