deploy-cloudflare について
WranglerでCloudflare PagesやWorkersを使う開発者向けのデプロイガイドです。環境設定、シークレット、DNS管理、ローカルテストも扱います。
主な機能
- 01Cloudflare PagesとWorkersのデプロイ
- 02ビルド環境と実行環境の設定
- 03変数と暗号化シークレットの管理
- 04コマンドによるDNSレコード管理
- 05ローカル開発、プレビュー、ロールバック
活用シーン
- 01Pagesへの静的サイト公開
- 02Workersのデプロイとテスト
- 03環境ごとのシークレット設定
- 04WranglerによるDNSとデプロイの管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dralgorhythm/ claude-agentic-framework --skill deploy-cloudflareインストール後、Claude Code で/deploy-cloudflareを入力して読み込まれたか確認します。
詳細
Cloudflare へのデプロイ
Cloudflare を選ぶ理由
- グローバルなエッジネットワーク(300 以上の都市)
- コールドスタートが発生しない(Workers)
- HTTPS と DDoS 保護を自動で提供
- CDN と DNS を統合
- 充実した無料プラン
クイックスタート
# Install Wrangler
npm install -g wrangler
# Login
wrangler login
# Deploy Pages
wrangler pages deploy ./dist
# Deploy Worker
wrangler deploy
Cloudflare Pages
静的サイトをデプロイ
# One-time deploy
wrangler pages deploy ./dist --project-name=my-app
# Connect Git repo (auto-deploy)
wrangler pages project create my-app --production-branch=main
ビルド設定
# wrangler.toml (Pages Functions)
name = "my-app"
compatibility_date = "2025-01-01"
[build]
command = "npm run build"
Cloudflare Workers
Worker の設定
# wrangler.toml
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2025-01-01"
[vars]
ENVIRONMENT = "production"
[[kv_namespaces]]
binding = "MY_KV"
id = "abc123"
基本的な Worker
export default {
async fetch(request, env, ctx) {
return new Response('Hello from the edge!', {
headers: { 'Content-Type': 'text/plain' }
});
}
};
環境とシークレット
# Set secret (encrypted)
wrangler secret put API_KEY
# Set variable (plain text)
wrangler pages secret put API_URL
# Bulk upload
echo "SECRET_KEY" | wrangler secret put SECRET_KEY
DNS の管理
# List DNS records
wrangler dns list example.com
# Add A record
wrangler dns create example.com --type A --name www --content 1.2.3.4
# Update record
wrangler dns update example.com --type A --name www --content 5.6.7.8
デプロイのワークフロー
1. プロジェクトを初期化
wrangler init my-project
cd my-project
2. ローカルで開発
wrangler dev
3. デプロイ
# Production
wrangler deploy
# Preview
wrangler deploy --env staging
ベストプラクティス
- 環境を使う:ステージングと本番環境を分けます
- バージョン管理:必要に応じてダッシュボードからロールバックします
- エッジキャッシュ:パフォーマンス向上のために Cache API を活用します
- レート制限:レート制限で Workers を保護します
- モニタリング:Workers Analytics を有効にします
よく使うコマンド
# View logs (tail)
wrangler tail
# List deployments
wrangler deployments list
# Rollback
wrangler rollback --message "Revert breaking change"
# KV operations
wrangler kv:key put --binding=MY_KV "key" "value"
wrangler kv:key get --binding=MY_KV "key"
アンチパターン
- しないでください:シークレットを wrangler.toml に保存する(
wrangler secretを使用します) - しないでください:ローカルでテストせずにデプロイする(
wrangler devを使用します) - しないでください:compatibility_date を無視する(ランタイムの動作に影響します)
- しないでください:長時間実行されるタスクに Workers を使用する(制限は 30 秒です)
コメント
Markdown 対応