This commit is contained in:
wenfp
2026-07-27 12:45:46 +08:00
parent 083042479c
commit 5ecf77335e
3 changed files with 15 additions and 1 deletions
+2
View File
@@ -7,3 +7,5 @@ DEPLOY_BRANCH=main
DEPLOY_SCRIPT_PATH=/www/wwwroot/next.zizaifutian.com/admin/scripts/deploy_front.sh DEPLOY_SCRIPT_PATH=/www/wwwroot/next.zizaifutian.com/admin/scripts/deploy_front.sh
DEPLOY_COMMAND_TIMEOUT=600 DEPLOY_COMMAND_TIMEOUT=600
DEPLOY_LOCK_PATH=/tmp/py-web-deploy.lock DEPLOY_LOCK_PATH=/tmp/py-web-deploy.lock
# 可选:填服务器 `dirname $(which node)` 的结果,解决 webhook 进程拿到旧 Node 的问题。
DEPLOY_NODE_BIN_DIR=/usr/bin
+1 -1
View File
@@ -88,7 +88,7 @@ OSS_ENDPOINT、OSS_BUCKET_NAME、OSS_ACCESS_KEY_ID、OSS_ACCESS_KEY_SECRET、OSS
- 自动部署接口为 `/deploy/webhook`,生产环境通常通过 Nginx 映射为 `/api/deploy/webhook` 给 Gitea 调用。 - 自动部署接口为 `/deploy/webhook`,生产环境通常通过 Nginx 映射为 `/api/deploy/webhook` 给 Gitea 调用。
- Gitea Webhook 应配置 `Secret`,后端会按原始请求体校验 `X-Gitea-Signature` 的 HMAC-SHA256 签名;也兼容 `X-Hub-Signature-256` - Gitea Webhook 应配置 `Secret`,后端会按原始请求体校验 `X-Gitea-Signature` 的 HMAC-SHA256 签名;也兼容 `X-Hub-Signature-256`
- 部署配置通过 `.env` 或环境变量提供:`DEPLOY_WEBHOOK_SECRET``DEPLOY_PROJECT_DIR``DEPLOY_FRONT_DIR``DEPLOY_BRANCH``DEPLOY_SCRIPT_PATH``DEPLOY_COMMAND_TIMEOUT``DEPLOY_LOCK_PATH` - 部署配置通过 `.env` 或环境变量提供:`DEPLOY_WEBHOOK_SECRET``DEPLOY_PROJECT_DIR``DEPLOY_FRONT_DIR``DEPLOY_BRANCH``DEPLOY_SCRIPT_PATH``DEPLOY_COMMAND_TIMEOUT``DEPLOY_LOCK_PATH`;如 webhook 进程拿到旧 Node,可设置 `DEPLOY_NODE_BIN_DIR` 指向新 Node 所在目录
- 部署脚本为 `scripts/deploy_front.sh`,负责在服务器项目目录执行 `git pull`、进入前端目录安装依赖并执行 `pnpm build` - 部署脚本为 `scripts/deploy_front.sh`,负责在服务器项目目录执行 `git pull`、进入前端目录安装依赖并执行 `pnpm build`
- webhook 密钥不得写入源码或文档;`.env.example` 只能保留占位值。 - webhook 密钥不得写入源码或文档;`.env.example` 只能保留占位值。
+12
View File
@@ -4,6 +4,18 @@ set -euo pipefail
PROJECT_DIR="${DEPLOY_PROJECT_DIR:-/www/wwwroot/next.zizaifutian.com/admin}" PROJECT_DIR="${DEPLOY_PROJECT_DIR:-/www/wwwroot/next.zizaifutian.com/admin}"
FRONT_DIR="${DEPLOY_FRONT_DIR:-front}" FRONT_DIR="${DEPLOY_FRONT_DIR:-front}"
BRANCH="${DEPLOY_BRANCH:-}" BRANCH="${DEPLOY_BRANCH:-}"
NODE_BIN_DIR="${DEPLOY_NODE_BIN_DIR:-}"
if [ -n "$NODE_BIN_DIR" ]; then
export PATH="$NODE_BIN_DIR:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
else
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
fi
echo "node: $(command -v node || true)"
node -v
echo "pnpm: $(command -v pnpm || true)"
pnpm -v
cd "$PROJECT_DIR" cd "$PROJECT_DIR"