GitHub Actionsで
Cloudflare自動デプロイを
設定する

GitHub Actions の仕組みと、Cloudflare への自動デプロイに必要な共通設定をまとめたもの

具体的なワークフロー YAML は各ハンズオンを参照

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

このスライドで扱うこと

  • GitHub Actions の仕組みとワークフローファイル
  • 事前準備(初回のみ): Account ID 確認・API トークン作成・GitHub Secrets 登録
  • 個別ハンズオンとの関係(静的サイト / D1 データ共有型)
  • 設定後の開発サイクル
  • ハマりどころメモ
GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

1. GitHub Actions とは

GitHub が提供する自動化ツール

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

1-1. push したら自動でデプロイされる仕組み

GitHub Actions は、GitHub が提供する自動化ツール。リポジトリへの push などをトリガーに、あらかじめ定義した処理を自動実行できる

開発者
  └─ git push
       └─ GitHub が push を検知
            └─ GitHub Actions が起動
                 ├─ D1 マイグレーション(DB ありの場合)
                 └─ Cloudflare Pages へデプロイ

ローカル直接デプロイ(npx wrangler pages deploy)と比べたメリットは push するだけで済むこと。デプロイし忘れがなく、ローカル環境の状態にも依存しない

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

直接デプロイと GitHub Actions の比較

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

1-2. ワークフローファイルとは

GitHub Actions の処理内容は、リポジトリ内の .github/workflows/ フォルダに YAML ファイルとして記述する

my-project/
  └─ .github/
       └─ workflows/
            └─ deploy.yml   ← ワークフローファイル

push を検知すると、このファイルに書かれた手順を自動実行する

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

1-2. ワークフローファイルの基本構造

on:           # いつ実行するか(トリガー)
  push:
    branches: [main]

jobs:         # 何をするか(ジョブ)
  deploy:
    runs-on: ubuntu-latest
    steps:    # ジョブの中の個別手順
      - uses: actions/checkout@v4           # リポジトリをチェックアウト
      - uses: cloudflare/wrangler-action@v3 # Cloudflare へデプロイ
GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

1-2. 各キーの意味(参考)

キー 役割
on トリガー条件(push、PR など)
jobs 実行するジョブの定義
steps ジョブ内の手順(上から順に実行)
uses 外部アクションの利用
run シェルコマンドの直接実行

覚えなくてよい。テンプレートを使えば手で書くことはほとんどない

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

1-3. ワークフローファイルはどうやって作るか

  • Claude Code に相談しながらゼロから作ることもできる
    • 「GitHub Actions で Cloudflare Pages にデプロイするワークフローを作って」で生成してくれる
  • ただし、動作確認済みのテンプレートがあるならそちらを使う方が確実
    • ゼロから作ると細かいオプションの抜け漏れでハマることがある

このハンズオンシリーズには実働実績のあるテンプレートが掲載されている。まずはそのまま使い、慣れてきたら Claude Code と相談しながらカスタマイズしていく

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

2. 事前準備(初回のみ)

Cloudflare を操作するための認証情報を GitHub に登録する。リポジトリごとに一度だけ

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

流れ

先に登録先の画面を開いておいて、値を取得したらその場で貼り付けていく

  1. GitHub Secrets の登録画面を開く
  2. Cloudflare Account ID を取得して登録
  3. Cloudflare API トークンを作成して登録

登録するのはこの2つ:

Name Value
CLOUDFLARE_ACCOUNT_ID 2-2 で確認する
CLOUDFLARE_API_TOKEN 2-3 で作成する
GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

2-1. GitHub Secrets の登録画面を開く

GitHub のサイトで行う

GitHub リポジトリ → SettingsSecrets and variablesActionsNew repository secret

ここに CLOUDFLARE_ACCOUNT_IDCLOUDFLARE_API_TOKEN を順に登録していく

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

2-2. Cloudflare Account ID を確認

Cloudflare のサイトで確認

Cloudflare ダッシュボードComputeWorkers & Pages

右カラムに表示される Account ID をコピー

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

2-2. GitHub に Account ID を登録

GitHub のサイトで CLOUDFLARE_ACCOUNT_ID として登録

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

2-3. Cloudflare API トークンを作成

Cloudflare のサイトで作成

右上 👤 アイコン → ProfileAPI TokensCreate TokenCreate Custom Token

項目 設定値
Token name 任意(例: kerokero
Permissions - Account Cloudflare Pages — Edit
Permissions - Account D1 — Edit(D1 を使う場合)
Permissions - User User Details — Read
Account Resources Include — 自分のアカウントのみ

Account Resources はデフォルトの All accounts のままにしない。自分のアカウントだけに絞ることで、不要なスコープを与えずに済む

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

2-3. API トークン設定の例

D1 を使うケースの設定例

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

2-3. API トークンを GitHub に登録

Continue to summaryCreate Token

表示されたトークン文字列をコピー(トークンは一度しか表示されない

GitHub のサイトで CLOUDFLARE_API_TOKEN として登録

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

3. 個別ハンズオンとの関係

このガイドは概念と共通設定の説明にとどめている

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

ワークフロー YAML は各ハンズオンに

具体的なワークフロー YAML(どのステップを何の順番で実行するか)は、各ハンズオンを参照

ハンズオン 内容
Claude CodeでWebアプリを作ってGitHub ActionsでCloudflareに公開する 静的サイトのデプロイ
Claude Codeでデータ共有型Webアプリを作ってCloudflareで公開する D1 マイグレーション+Pages デプロイ
GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

4. 開発の流れ

設定が整うと、push を起点とした自動デプロイのサイクルに入る

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

設定が整ったあとのサイクル

  1. Claude Code にコードを書いてもらう
  2. ローカルで動作確認する(任意)
  3. GitHub に push
  4. GitHub Actions が自動でデプロイ
  5. 本番環境(https://アプリ名.pages.dev など)で動作確認
  6. 修正があればまた Claude Code に依頼 → push
GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

備忘録

実際に詰まった点の覚え書き

GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

ハマりどころ(1/2)

  • wranglerVersion: "4" を各ステップに明示しないと古いバージョン(3.90.0 等)にフォールバックすることがある
  • compatibility_date は UTC 基準のため、JST の今日の日付は未来日になる場合がある — 前日以前の日付を指定する
GitHub ActionsでCloudflare自動デプロイを設定する (vibecodingnotes.com)

ハマりどころ(2/2)

  • このガイドのハンズオンでは Cloudflare Pages の Git 連携は使わず、GitHub Actions から wrangler pages deploy する
    • ダッシュボードからリポジトリを連携すると、Pages / Workers の選択や自動検出された build 設定によって、想定外のコマンド・出力先で失敗することがあるため
  • API トークンは作成時に一度しか表示されない — 紛失した場合は新しく作り直して Secrets を更新する
  • Cloudflare は長期的に Pages の機能を Workers へ統合する方針を示しているが、2026年時点では強制移行の期限は発表されておらず、Pages は引き続き利用できる

ありがとうございました

タツヲ (@yto)

vibecodingnotes.com