| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!/usr/bin/env bash
- # 启动脚本:一条命令完成依赖安装 + 基础验证 + 打印启动命令。
- #
- # 用法:
- # bash harness/init.sh # 安装依赖 + 跑验证 + 打印启动命令
- # RUN_START_COMMAND=1 bash harness/init.sh # 验证通过后直接启动开发服务器
- #
- # 验证失败时应当**停下来先修基础状态**,不要在坏的基础上继续叠新功能。
- set -u
- # ── 按项目实际情况修改这三个变量 ────────────────────────────────────────────
- INSTALL_CMD="npm install"
- VERIFY_CMD="npm run build"
- START_CMD="npm run dev"
- # ────────────────────────────────────────────────────────────────────────────
- # 切到仓库根目录(脚本可能在任意位置被调用)
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
- cd "$REPO_ROOT" || exit 1
- echo "=============================================="
- echo " 仓库根目录"
- echo "=============================================="
- pwd
- echo ""
- echo "=============================================="
- echo " 最近提交"
- echo "=============================================="
- if git rev-parse --git-dir >/dev/null 2>&1; then
- if git rev-parse HEAD >/dev/null 2>&1; then
- git log --oneline -5
- else
- echo "(仓库尚无任何提交——跳过。初始提交由用户自行完成。)"
- fi
- else
- echo "(不是 git 仓库——跳过)"
- fi
- echo ""
- echo "=============================================="
- echo " 安装依赖"
- echo "=============================================="
- echo "\$ ${INSTALL_CMD}"
- if ! ${INSTALL_CMD}; then
- echo ""
- echo "!! 依赖安装失败——先解决它,不要在坏的基础上继续。" >&2
- exit 1
- fi
- echo ""
- echo "=============================================="
- echo " 基础验证"
- echo "=============================================="
- echo "\$ ${VERIFY_CMD}"
- if ! ${VERIFY_CMD}; then
- echo ""
- echo "!! 基础验证失败——先修好再开工,不要在上面叠新功能。" >&2
- exit 1
- fi
- echo ""
- echo "基础验证通过。"
- echo ""
- echo "=============================================="
- echo " 启动命令"
- echo "=============================================="
- echo "\$ ${START_CMD}"
- echo ""
- echo "提示:开发服务器为 HTTPS(自签证书),浏览器首次访问会有证书告警,属正常现象。"
- echo " 聊天接口走同源代理 /chat-api,无需额外配置。"
- echo ""
- if [ "${RUN_START_COMMAND:-0}" = "1" ]; then
- echo "RUN_START_COMMAND=1,正在启动……"
- exec ${START_CMD}
- fi
|