37 lines
1.2 KiB
Bash
Executable File
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"
|