Files
HSAP/scripts/init_after_clone.sh

64 lines
2.4 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Git clone 后首次初始化(新机器部署入口)
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
[[ -f .env ]] || { cp .env.example .env && echo "已创建 .env"; }
[[ -f manifests/feishu.env ]] || { cp manifests/feishu.env.example manifests/feishu.env && echo "已创建 manifests/feishu.env"; }
DEFAULT_WS="$(cd "$ROOT/.." && pwd)/workspace"
DEFAULT_DATA="$(cd "$ROOT/.." && pwd)/data"
mkdir -p "$DEFAULT_DATA/送标/adas/inbox"
if grep -q '^# AS_WORKSPACE_ROOT=' .env && [[ -d "$DEFAULT_WS/DMS" ]]; then
sed -i "s|^# AS_WORKSPACE_ROOT=.*|AS_WORKSPACE_ROOT=$DEFAULT_WS|" .env
echo "已设置 AS_WORKSPACE_ROOT=$DEFAULT_WS"
fi
if ! grep -q '^AS_DATA_LAKE_HOST=' .env 2>/dev/null; then
if grep -q '^# AS_DATA_LAKE_HOST=' .env; then
sed -i "s|^# AS_DATA_LAKE_HOST=.*|AS_DATA_LAKE_HOST=$DEFAULT_DATA|" .env
else
echo "AS_DATA_LAKE_HOST=$DEFAULT_DATA" >> .env
fi
echo "已设置 AS_DATA_LAKE_HOST=$DEFAULT_DATA"
elif grep -q '^# AS_DATA_LAKE_HOST=' .env && [[ -d "$DEFAULT_DATA" ]]; then
sed -i "s|^# AS_DATA_LAKE_HOST=.*|AS_DATA_LAKE_HOST=$DEFAULT_DATA|" .env
echo "已设置 AS_DATA_LAKE_HOST=$DEFAULT_DATA"
fi
if [[ -n "${AS_WORKSPACE_ROOT:-}" ]] && [[ -d "${AS_WORKSPACE_ROOT}/DMS" || -d "${AS_WORKSPACE_ROOT}/LaneDection" ]]; then
echo "检测到 AS_WORKSPACE_ROOT切换为 workspace 软链…"
bash scripts/setup_links.sh
else
echo "使用仓库内嵌 algorithms/datasets默认"
echo "若有外部 workspace: 在 .env 设置 AS_WORKSPACE_ROOT 后执行 bash scripts/setup_links.sh"
fi
if [[ ! -d datasets/adas ]] && [[ -d "$DEFAULT_DATA/送标/adas" ]]; then
ln -sfn ../../data/送标/adas datasets/adas
echo "已创建 datasets/adas → data/送标/adas"
fi
if [[ ! -f platform/ui-hsap/dist/index.html ]]; then
if command -v npm >/dev/null 2>&1; then
echo "构建前端静态包…"
bash scripts/build_web.sh
else
echo "未安装 Node/npm跳过前端构建Docker 启动前请执行: bash scripts/build_web.sh"
fi
fi
echo ""
echo "植入送标样例lake_example…"
bash scripts/seed_lake_example.sh
echo ""
echo "下一步:"
echo " 1. 编辑 .env — 路径与 AS_FRONTEND_URL / CVAT_PUBLIC_URL局域网部署必改"
echo " 2. 编辑 manifests/feishu.env — 飞书 App ID/Secret 或保持 AS_DEV_AUTH=true 开发登录"
echo " 3. bash scripts/dev_up.sh 或 make up"
echo ""
echo "详细部署说明: docs/DEPLOY.md"