M5-007: add plm-uat/scripts/start-uat.sh
This commit is contained in:
74
plm-uat/scripts/start-uat.sh
Normal file
74
plm-uat/scripts/start-uat.sh
Normal 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 ""
|
||||
Reference in New Issue
Block a user