ci(deploy): branch-aware env copy and restore start output silencing
- Select env template per branch: main → .env.production, test/dev → .env.local - Skip env copy on unknown branches with warning log - Revert pnpm run start output to /dev/null (debugging complete) - Reorder LOG_FILE definition before env-copy block so case branches can log
This commit is contained in:
+24
-7
@@ -8,13 +8,31 @@
|
||||
# - 实际调用 `pnpm run build`(输出丢,仅记退出码)
|
||||
# - 再后台启 `pnpm run start`(nohup,输出丢,hook 立即返回)
|
||||
|
||||
# 准备生产环境变量(从 env-example/.env.production.example 复制 → .env.production)
|
||||
cp -f env-example/.env.production.example .env.production
|
||||
|
||||
# 日志文件路径(**覆盖**模式:每次推送都生成全新日志)
|
||||
# 日志文件路径(**覆盖**模式:每次推送都生成全新日志)—— **先**定**义**给后续 echo 用
|
||||
LOG_FILE="$(git rev-parse --show-toplevel)/logs/post-receive.log"
|
||||
mkdir -p "$(dirname "$LOG_FILE")"
|
||||
|
||||
# **根**据**分**支选**择** env-example → .env(test 服**务**器**只**需 .env.local,**不**碰 .env.production)
|
||||
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||
echo "=== branch: $CURRENT_BRANCH ===" >> "$LOG_FILE"
|
||||
case "$CURRENT_BRANCH" in
|
||||
main)
|
||||
cp -f env-example/.env.production.example .env.production
|
||||
echo "=== env: copied .env.production (main → prod) ===" >> "$LOG_FILE"
|
||||
;;
|
||||
test)
|
||||
cp -f env-example/.env.local.example .env.local
|
||||
echo "=== env: copied .env.local (test → test) ===" >> "$LOG_FILE"
|
||||
;;
|
||||
dev)
|
||||
cp -f env-example/.env.development.example .env.local
|
||||
echo "=== env: copied .env.local (dev → dev) ===" >> "$LOG_FILE"
|
||||
;;
|
||||
*)
|
||||
echo "=== env: UNKNOWN branch '$CURRENT_BRANCH', skip env copy ===" >> "$LOG_FILE"
|
||||
;;
|
||||
esac
|
||||
|
||||
# 元信息头(**首**次写 → 覆盖)
|
||||
{
|
||||
echo "=== post-receive @ $(date -u +%Y-%m-%dT%H:%M:%SZ) ==="
|
||||
@@ -53,10 +71,9 @@ echo "=== stop DONE @ $(date -u +%Y-%m-%dT%H:%M:%SZ) ===" >> "$LOG_FILE"
|
||||
echo "" >> "$LOG_FILE"
|
||||
|
||||
# pnpm run start → **后台**跑(nohup ... &),long-running 进程
|
||||
# **临**时**改**:next 输**出**也**接**到 LOG_FILE(**为**排**查** Server error)
|
||||
# —— 排**查**完**后**改回 `> /dev/null 2>&1`
|
||||
# 输出**丢**(> /dev/null 2>&1)—— 真实 next 日志要看 next 自身 stdout/stderr
|
||||
echo "=== start LAUNCH @ $(date -u +%Y-%m-%dT%H:%M:%SZ) ===" >> "$LOG_FILE"
|
||||
nohup pnpm run start >> "$LOG_FILE" 2>&1 &
|
||||
nohup pnpm run start > /dev/null 2>&1 &
|
||||
START_PID=$!
|
||||
echo "=== start PID=$START_PID @ $(date -u +%Y-%m-%dT%H:%M:%SZ) ===" >> "$LOG_FILE"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user