feat(deploy): 添加 Gitea 自动部署 Webhook 及配套工具
新增 `/deploy/webhook` 接口,支持 Gitea HMAC 签名校验、指定分支部署、构建并发锁与超时控制 添加前端项目部署脚本 `scripts/deploy_front.sh`,负责拉取代码、安装依赖并执行构建 新增部署相关配置项并更新 `.env.example` 示例配置 更新项目文档说明自动部署的使用约定 补充 `.gitignore` 规则忽略证书和 PEM 格式文件
This commit is contained in:
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user