#!/bin/sh # 构建管线:gitea push(main) → webhook → 本脚本 → dist rsync 到 www-staging # Phase 1:真实 astro build;webhook 侧 HMAC 验签仍留 Phase 4 实装(见 webhook-receive.sh) set -e REPO_DIR="$HOME/Code/Github/my-blog" # Phase 4 构建机改裸 clone 路径 STAGING="$HOME/docker_apps/blog/www-staging" echo "[build] pnpm install --frozen-lockfile + astro build" cd "$REPO_DIR" pnpm install --frozen-lockfile >/dev/null pnpm astro build echo "[build] rsync -> $STAGING" mkdir -p "$STAGING" rsync -a --delete "$REPO_DIR/dist/" "$STAGING/" printf 'built at %s\n' "$(date -Is)" > "$STAGING/.build-stamp" echo "[build] done: $(find "$STAGING" -name '*.html' | wc -l) html files"