Files
Airtep/gig-poc/infrastructure/scripts/dev-up.sh
2026-04-01 14:19:25 +08:00

37 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env sh
set -eu
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
INFRA_DIR=$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd)
PROJECT_DIR=$(CDPATH= cd -- "$INFRA_DIR/.." && pwd)
RUN_ACCEPTANCE_ON_UP="${RUN_ACCEPTANCE_ON_UP:-true}"
EXPORT_OPENAPI_ON_UP="${EXPORT_OPENAPI_ON_UP:-true}"
RUN_BASELINE_ON_UP="${RUN_BASELINE_ON_UP:-false}"
cd "$INFRA_DIR"
docker compose -f docker-compose.yml up --build -d
echo "等待 API 健康检查..."
until curl -fsS http://127.0.0.1:8000/health >/dev/null 2>&1; do
sleep 3
done
until curl -fsS -X POST http://127.0.0.1:8000/poc/ingest/bootstrap >/dev/null 2>&1; do
sleep 3
done
if [ "$RUN_ACCEPTANCE_ON_UP" = "true" ]; then
echo "执行一键闭环验收脚本..."
sh "$SCRIPT_DIR/acceptance-e2e.sh"
fi
if [ "$EXPORT_OPENAPI_ON_UP" = "true" ]; then
echo "导出 OpenAPI 固化产物到 docs/openapi.json ..."
sh "$SCRIPT_DIR/export-openapi.sh" "$PROJECT_DIR/docs/openapi.json"
fi
if [ "$RUN_BASELINE_ON_UP" = "true" ]; then
echo "执行容量基线压测..."
sh "$SCRIPT_DIR/load-baseline.sh" "$PROJECT_DIR/docs/CAPACITY_BASELINE.md"
fi
echo "本地环境已启动。Web: http://127.0.0.1:5173 API: http://127.0.0.1:8000/docs"