diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 2e7a6a2..78dba24 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -219,6 +219,25 @@ else echo " Check: pm2 logs $PM2_NAME" fi +# ── 记录部署历史 ── +mkdir -p "$(dirname "$HISTORY_FILE")" +if [ -n "${DEPLOY_OVERRIDE_COMMIT:-}" ]; then + DEPLOYED_COMMIT="$DEPLOY_OVERRIDE_COMMIT" +else + DEPLOYED_COMMIT=$(git -C "$SOURCE_DIR" rev-parse --short HEAD 2>/dev/null || echo "unknown") +fi +DEPLOY_TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ) +DEPLOY_SOURCE="${SOURCE_DIR}" +HISTORY_ENTRY=$(printf '%s' '{"timestamp":"'$DEPLOY_TIMESTAMP'","commit":"'$DEPLOYED_COMMIT'","source":"'$DEPLOY_SOURCE'"}') +echo "$HISTORY_ENTRY" >> "$HISTORY_FILE" +# 保留最近 10 条 +if [ -f "$HISTORY_FILE" ]; then + TMPFILE=$(mktemp) + tail -10 "$HISTORY_FILE" > "$TMPFILE" + mv "$TMPFILE" "$HISTORY_FILE" +fi +echo " Deploy history recorded ($DEPLOYED_COMMIT) ✅" + # ── 完成 ── echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"