🚀 新規事業

deploy-script-pattern

最終更新 2026年05月04日 / 40_新規事業/SCALE_Build/カタログ/機能集/deploy-script-pattern.md

deploy.sh(pre/post snapshot 込み自動デプロイ)

用途

ワンコマンドで「バックアップ → ビルド → Cloudflare Pages デプロイ → ポストバックアップ」まで自動実行。

4-Step パターン

#!/bin/bash
set -e
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
TS=$(date +%Y-%m-%d_%H%M%S)

# [1/4] Pre-deploy snapshot
echo "── [1/4] Pre-deploy snapshot ──"
bash scripts/snapshot.sh --label=pre-deploy

# [2/4] Build (/tmp 経由で日本語パス回避)
echo "── [2/4] Build ──"
BUILD_DIR="/tmp/<project>-build"
[ ! -d "$BUILD_DIR/node_modules" ] && cp -R "$ROOT" "$BUILD_DIR" && cd "$BUILD_DIR"
rm -rf .next out
npx next build  # or: astro build / wrangler deploy ...

# [3/4] Deploy
echo "── [3/4] Deploy ──"
unset CLOUDFLARE_API_TOKEN  # OAuth Token 優先
npx wrangler pages deploy out --project-name=<project> --branch=main \
  --commit-dirty=true --commit-message="deploy ${TS}"

# [4/4] Post-deploy snapshot
echo "── [4/4] Post-deploy snapshot ──"
bash scripts/snapshot.sh --label=post-deploy

echo "✓ Deploy complete → https://<project>.pages.dev/"

注意

  • unset CLOUDFLARE_API_TOKEN で OAuth 優先(古い API Token があると失敗)
  • 日本語パス Turbopack panic 対策で /tmp 経由ビルド
  • --commit-dirty=true で git の状態気にせずデプロイ
  • --commit-message は英語推奨(UTF-8エラー回避)