update
This commit is contained in:
@@ -7,3 +7,5 @@ DEPLOY_BRANCH=main
|
||||
DEPLOY_SCRIPT_PATH=/www/wwwroot/next.zizaifutian.com/admin/scripts/deploy_front.sh
|
||||
DEPLOY_COMMAND_TIMEOUT=600
|
||||
DEPLOY_LOCK_PATH=/tmp/py-web-deploy.lock
|
||||
# 可选:填服务器 `dirname $(which node)` 的结果,解决 webhook 进程拿到旧 Node 的问题。
|
||||
DEPLOY_NODE_BIN_DIR=/usr/bin
|
||||
|
||||
+1
-1
@@ -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 调用。
|
||||
- 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`。
|
||||
- webhook 密钥不得写入源码或文档;`.env.example` 只能保留占位值。
|
||||
|
||||
|
||||
@@ -4,6 +4,18 @@ set -euo pipefail
|
||||
PROJECT_DIR="${DEPLOY_PROJECT_DIR:-/www/wwwroot/next.zizaifutian.com/admin}"
|
||||
FRONT_DIR="${DEPLOY_FRONT_DIR:-front}"
|
||||
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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user