SCALE
SCALE Build Hub
機能集
インフラ Bash Script

自動デプロイスクリプト(pre/post snapshot 込み)

出典: SCALE Base / 全プロジェクト共通
実装時間
30〜90分
難度
簡単
価格
¥3,000

依存パッケージ

tarrsyncwrangler (Cloudflare Pages)

ファイル

scripts/deploy.sh

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

:LiTarget: 用途

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

:LiCode: 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/"

:LiAlertCircle: 注意