Cloudflare

2026年版 Wrangler v2 と GitHub Actionsで始める Cloudflare Workers デプロイ

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

1. Cloudflare Workers とランタイムの概要

Cloudflare のエッジネットワーク(300 カ所以上)で JavaScript/TypeScriptRust → WebAssembly (Wasm) を実行できるサーバーレスプラットフォームが Workers です。

  • JavaScript/TypeScript はフロントエンド開発者にとって学習コストが低く、npm パッケージや Node.js 互換モジュールをそのまま利用できます。
  • Rust は Wasm にコンパイルされ、CPU バウンドな処理や安全性が求められるユースケースで高い性能を発揮します。

選択の指針
- 開発スピードとチームスキル:既に TypeScript が主流なら Workers の JS/TS ランタイムが最適。
- 実行性能・リソース制限:大規模な計算やメモリ使用量が多い処理は Rust → Wasm が有利。
- エコシステムの成熟度:KV、D1、Durable Objects など Cloudflare のサービスとの統合は TS 側が先行しています。


2. Wrangler CLI のセットアップとプロジェクト初期化

2.1 インストール手順(npm と Homebrew)

ローカル環境に Wrangler v2 を導入する最も簡単な方法は、npm または macOS/Linux 用の Homebrew です。どちらでも同等の機能が提供されます。

インストール後はバージョンを確認し、2.x 系以上であることを必ずチェックしてください。

ポイントwrangler -V は非推奨です。公式ドキュメントは wrangler version を使用するよう案内しています。

2.2 プロジェクト作成とテンプレート選択

wrangler init コマンドで新規プロジェクトを生成できます。--type フラグにより言語やフレームワークの雛形を指定します。

テンプレート 用途・特徴
workers-ts TypeScript のシンプルな Workers
workers-rust Rust → Wasm 用のビルド設定が自動生成
pages-functions Cloudflare Pages と統合した Functions

2.3 wrangler.toml の主要設定項目

プロジェクト作成時に自動生成される wrangler.toml は、デプロイ先やバインディング情報を一元管理します。代表的な項目と推奨設定は以下の通りです。

  • account_idname は Cloudflare ダッシュボードから取得し、必ず設定してください。
  • compatibility_date を明示することで、将来の破壊的変更からコードを保護できます。
  • routes が空の場合は Workers が全トラフィックに適用されますが、特定パスだけに限定したいときに使用します。
  • 環境ごとの差分管理--env オプションで切り替えられる [env.*] セクションを利用すると CI/CD が楽になります。

3. ローカルテストとデバッグ手法

3.1 wrangler dev でエッジ環境をシミュレート

ローカル開発時は wrangler dev が提供するエミュレーションサーバーで、実際の Workers と同様の動作を確認できます。

  • 環境変数.dev.varsKEY=VALUE 形式で記述し、コード内では process.env.KEY で取得可能です。
  • KV モック:インメモリ KV が自動的に提供され、MY_KV.put() / get() が即座に反映します。

3.2 プレビュー URL の取得(wrangler preview

GitHub Pull Request やブランチごとの確認が必要なときは、プレビューモード を利用します。現在の公式 CLI では --branch オプションはサポートされていません。その代わりに次のコマンドで一時的な公開 URL を取得します。

この URL は Cloudflare のエッジネットワーク上に作成され、本番トラフィックとは分離された環境です。プルリクエストと連携させる場合は、GitHub Actions で wrangler preview を実行し、出力した URL をコメントとして投稿すると便利です。

3.3 デバッグポイント

手法 説明
コンソールログ console.log() はローカル端末と Chrome DevTools の両方に表示されます。
Chrome DevTools http://localhost:8787/__inspect にアクセスすると、ブレークポイントやステップ実行が可能です。
例外ハンドリング try/catch 内で return new Response(err.message, {status: 500}) とすれば、エラーメッセージがレスポンスに乗ります。

ベストプラクティス:ローカル開発は必ず wrangler devwrangler preview のフローで行い、環境変数・KV のモックを活用して本番に近い挙動を検証しましょう。


4. 本番環境へのデプロイとオプション

4.1 基本コマンド wrangler publish

ローカルで問題が確認できたら、publish コマンドでエッジ全体に即時反映させます。

4.2 主なオプションの使い分け

オプション 用途
--env <environment> [env.*] に定義した設定(例: staging, production)を切り替える。
--dry-run ビルド結果と差分だけを表示し、実際のデプロイは行わない。CI パイプラインで安全確認に使用。
--script <path> デフォルト以外のエントリーポイントを指定したい場合に利用(主にカスタムビルドフロー向け)。

注意--branchPages のプレビュー機能でのみ利用可能です。Workers のデプロイ時には --env--dry-run を組み合わせて環境管理してください。

4.3 よくあるエラーと対処法

エラー種別 主な原因 推奨対策
認証エラー (CF_API_TOKEN が無効) トークン期限切れ、権限不足 Cloudflare ダッシュボードで Workers ScriptsKV Storage など必要最低限のスコープを付与し、GitHub Secrets を再設定。
クォータ超過 (Quota Exceeded) KV/D1 の書き込み上限やリクエスト数に達した ダッシュボードで使用量を確認し、プランアップグレードまたはアクセス頻度の削減を検討。
ビルド失敗(TypeScript / Rust) コンパイルエラー、依存関係の不整合 wrangler dev でエラーログを確認し、tsconfig.jsonCargo.toml の設定を修正。

デプロイ前に必ず --dry-run を実行し、差分と認証情報が期待通りか確認する習慣をつけましょう。


5. GitHub Actions で CI/CD パイプライン構築

5.1 基本的な Workflow YAML

以下は Node.js + TypeScript プロジェクト向けの最小構成です。pushpull_request の両方で実行し、main ブランチへのマージ時に本番デプロイします。

キーポイント

  • Secrets の管理CF_API_TOKEN は最小権限(Workers Scripts、KV Storage)だけ付与し、GitHub の Settings → Secrets に安全に保存します。
  • キャッシュ活用actions/cachenode_modules をキャッシュするとジョブ実行時間が約30 %短縮できます。Rust プロジェクトの場合は ~/.cargo/registrytarget ディレクトリも同様にキャッシュしてください。
  • プレビューと本番の分離:Pull Request のみでは wrangler preview を呼び出し、実際のデプロイは push(main ブランチ)時に限定しています。

5.2 フレームワーク別注意点(例: SvelteKit)

SvelteKit を Workers にデプロイする場合、公式アダプタ @sveltejs/adapter-cloudflare が提供するビルド設定と Wrangler のバンドラが衝突しやすいです。

  1. Adapter の選択:SSR が必要なら adapter-cloudflare のみを使用。静的サイトは別ステージで adapter-static を走らせ、生成物だけを Pages にデプロイします。
  2. 環境変数の分離.env.staging.env.production を用意し、GitHub Actions では --env staging / --env production を切り替えてビルドします。

6. Cloudflare Pages と Workers の統合(2024 年時点)

6.1 現状のサポートレベル

Pages Functions および Workers for Sites は 2023 年末にベータリリースされた機能で、2024 年 Q2 にかけてパブリックプレビューが提供されています。したがって「公式にフルサポート」ではなく ベータ機能として利用可能 です。プロダクション環境で使用する際は以下を意識してください。

  • ベータ版のため、API の変更や不具合が発生する可能性があります。
  • Cloudflare ダッシュボードの「Pages → Settings → Functions」から有効化できます。

6.2 同一リポジトリで Pages と Workers を管理する構成例

  1. プロジェクト構造(例)

  1. wrangler.toml の設定

  1. GitHub Actions での一括デプロイ

ポイント:ベータ機能であることを踏まえ、ステージング環境で十分にテストした上で本番へプッシュしてください。


7. まとめ

項目 キーとなる知見
ランタイム選択 TS は開発速度とエコシステム、Rust/Wasm は計算性能に強み。用途に応じて使い分けを推奨。
Wrangler の導入 npm install -g wrangler@latestwrangler version で確認。wrangler.toml に環境別設定 ([env.*]) を記述し、CI から --env で切替える。
ローカルテスト wrangler dev でエミュレーション、.dev.vars で環境変数、wrangler preview で一時公開 URL を取得。デバッグは Chrome DevTools の __inspect エンドポイントが便利。
本番デプロイ wrangler publish --env <stage> が基本。--dry-run で差分確認し、認証エラーやクォータ超過に備える。
CI/CD GitHub Actions に npm cinpm run buildwrangler publish を組み込み、Secrets とキャッシュを活用して高速かつ安全なパイプラインを構築。
Pages + Workers の統合 ベータ機能(Pages Functions / Workers for Sites)を利用し、同一リポジトリで wrangler.toml[site] ブロックにビルドディレクトリを指定すれば、一括デプロイが可能。

本ガイドの手順とベストプラクティスを踏むことで、開発から本番運用まで一貫したフロー を構築できます。最新情報は常に Cloudflare の公式ドキュメント(https://developers.cloudflare.com)をご確認ください。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Cloudflare