LEVEL 4 ハンズオン
GitHubにpushするだけで GitHub Actions が Cloudflare Pages に自動デプロイする仕組みを作る。データ共有型Webアプリ(D1)への下地でもある
.github/workflows/deploy.yml
ワークフローファイル(YAML)にデプロイ手順をコード管理しておくと、後から D1 のマイグレーションなど push 時に実行したい処理を差し込みやすい
詳細は GitHubとGitのセットアップ を参照
次章以降は以下の状態から進める前提:
my-first-site
~/Desktop/claude/my-first-site
~/Desktop/claude/my-first-site/index.html
Claudeデスクトップ → Code → New session → ~/Desktop/claude/my-first-site を指定
公開ファイルは ./public 配下に置く構成にする(.github/workflows/・.gitignore などが公開されないように)
./public
.github/workflows/
.gitignore
public フォルダを作って。公開ファイルは public 配下だけに置く構成にする。 リポジトリのルートにある index.html は不要なので削除して。
HTML+JavaScriptでポモドーロタイマーを作って! public/index.html 1ファイルで作って。
複利計算機をHTML+JavaScriptで作って! 構成はHTMLファイル(public/index.html)が1つ。
最大60秒のカウントダウンタイマーをHTML+JavaScriptで作って! 秒数を入力してスタート・リセットできるようにしたい。 HTMLファイル1つ(public/index.html)にまとめて。
TODOリストをHTML+JavaScriptで作って! 項目の追加・削除ができて、ページを閉じても消えないようにしたい。 public/index.html に書いて。ファイルは1つで。
右上の プレビュー を選ぶと表示される(自動で表示されることも)。途中、操作の許可を求めてくることがあるので対応する
push に反応して GitHub Actions が Cloudflare Pages へデプロイする仕組みの準備
Cloudflareアカウントがなければ作る
詳細は SUPハンズオンの1-1 を参照
GitHub ActionsでCloudflare自動デプロイを設定する の 2章「事前準備」 を参照して以下を行う:
CLOUDFLARE_API_TOKEN
CLOUDFLARE_ACCOUNT_ID
完了したらここに戻る
GitHub Actions は GitHub に組み込まれた自動化の仕組み
ワークフロー内で Cloudflare Pages のプロジェクト名を指定する → 公開URL https://プロジェクト名.pages.dev
https://プロジェクト名.pages.dev
*.pages.dev
https://候補名.pages.dev
例: my-first-site.pages.dev がすでに使われていたら oreore-site に変える(以降「プロジェクト名」を選んだ名前に読み替える)
my-first-site.pages.dev
oreore-site
deploy.yml
以下のテンプレートで .github/workflows/deploy.yml を作成してください。 プロジェクト名は「my-first-site」としてください。 --- name: Deploy to Cloudflare Pages on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Create Pages project (初回のみ) continue-on-error: true uses: cloudflare/wrangler-action@v3 with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} wranglerVersion: "4" command: pages project create プロジェクト名 --production-branch=main - name: Deploy to Cloudflare Pages uses: cloudflare/wrangler-action@v3 with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} wranglerVersion: "4" command: pages deploy ./public --project-name=プロジェクト名
push をトリガーに、以下の順で実行される:
actions/checkout
pages project create
continue-on-error: true
pages deploy
各ステップは GitHub Secrets(CLOUDFLARE_API_TOKEN・CLOUDFLARE_ACCOUNT_ID)で認証
変更をgitでコミットしてpushして(git push -u origin main で)
GitHubの Actions タブでデプロイの進行状況を確認できる
背景をもっと明るくしてください
数値入力をスライダーにしてください
ボタンの間隔をもっと広げて
参考: AIへの指示に使えるUI用語集 — 動く実例つき
変更をgitでコミットしてpushして
しばらく待ってから公開URLにアクセスして確認
このサイクルを繰り返してWebアプリを仕上げる
一人完結型Webアプリ — データが自分の端末に保存される、シンプルな構成
次はデータ共有型 — チャットやランキングのように、みんなでデータを共有するアプリ
wrangler.toml
User / User Details: Read
タツヲ (@yto)
vibecodingnotes.com