mcpField
D
deploy-cloudflare

deploy-cloudflare

github.com/dralgorhythmクラウド・DevOps12857 回インストール14 週間前に更新
リポジトリ

deploy-cloudflare について

WranglerでCloudflare PagesやWorkersを使う開発者向けのデプロイガイドです。環境設定、シークレット、DNS管理、ローカルテストも扱います。

主な機能

  1. 01Cloudflare PagesとWorkersのデプロイ
  2. 02ビルド環境と実行環境の設定
  3. 03変数と暗号化シークレットの管理
  4. 04コマンドによるDNSレコード管理
  5. 05ローカル開発、プレビュー、ロールバック

活用シーン

  1. 01Pagesへの静的サイト公開
  2. 02Workersのデプロイとテスト
  3. 03環境ごとのシークレット設定
  4. 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

ベストプラクティス

  1. 環境を使う:ステージングと本番環境を分けます
  2. バージョン管理:必要に応じてダッシュボードからロールバックします
  3. エッジキャッシュ:パフォーマンス向上のために Cache API を活用します
  4. レート制限:レート制限で Workers を保護します
  5. モニタリング: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 秒です)

コメント