新增 `/deploy/webhook` 接口,支持 Gitea HMAC 签名校验、指定分支部署、构建并发锁与超时控制 添加前端项目部署脚本 `scripts/deploy_front.sh`,负责拉取代码、安装依赖并执行构建 新增部署相关配置项并更新 `.env.example` 示例配置 更新项目文档说明自动部署的使用约定 补充 `.gitignore` 规则忽略证书和 PEM 格式文件
35 lines
681 B
Bash
Executable File
35 lines
681 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
PROJECT_DIR="${DEPLOY_PROJECT_DIR:-/www/wwwroot/next.zizaifutian.com/admin}"
|
|
FRONT_DIR="${DEPLOY_FRONT_DIR:-front}"
|
|
BRANCH="${DEPLOY_BRANCH:-}"
|
|
|
|
cd "$PROJECT_DIR"
|
|
|
|
if [ -n "$BRANCH" ]; then
|
|
git fetch origin "$BRANCH"
|
|
if git show-ref --verify --quiet "refs/heads/$BRANCH"; then
|
|
git checkout "$BRANCH"
|
|
else
|
|
git checkout -b "$BRANCH" "origin/$BRANCH"
|
|
fi
|
|
git pull --ff-only origin "$BRANCH"
|
|
else
|
|
git pull --ff-only
|
|
fi
|
|
|
|
cd "$FRONT_DIR"
|
|
|
|
if command -v corepack >/dev/null 2>&1; then
|
|
corepack enable >/dev/null 2>&1 || true
|
|
fi
|
|
|
|
if [ -f pnpm-lock.yaml ]; then
|
|
pnpm install --frozen-lockfile
|
|
else
|
|
pnpm install
|
|
fi
|
|
|
|
pnpm build
|