deploying-cloudflare-web-application について
GitHub Actions を使った Cloudflare Web アプリのデプロイ準備と管理を支援するスキルです。セットアップ、デプロイ、シークレット、直接実行やロールバック、トラブルシューティングを扱い、Cloudflare の変更はプッシュ時のワークフローで行います。
主な機能
- 01前提条件とアカウント設定の確認
- 02アプリやデータベースのデプロイ手順
- 03GitHub Actions シークレット設定の案内
- 04直接デプロイとロールバックの手順
- 05デプロイ障害のトラブルシューティング
活用シーン
- 01Cloudflare デプロイの準備状況を確認
- 02デプロイワークフローや D1 データベースの追加
- 03マージ前に必要なシークレットを確認
- 04デプロイ失敗や更新時の 404 を調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ cedmandocdoc/ awesome-skills --skill deploying-cloudflare-web-applicationインストール後、Claude Code で/deploying-cloudflare-web-applicationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlassets/ci-token-permissions.tsvdeployment.mdreferences/configuring-github-actions.mdconfiguring-secrets.mdconfiguring-wrangler.mddeploying-application.mddeployment-contract.mddiscovering-application.mdexecuting-direct-deploy.mdtroubleshooting-deployment.mdscripts/probe-ci-token.sh詳細
Cloudflare へのウェブアプリケーションのデプロイ
セットアップ
| 項目 | 種類 | 必須 | 対象となる場合 | 完了条件 | 方法 |
|---|---|---|---|---|---|
| Node.js 22 以降とプロジェクトのパッケージマネージャー | ユーザー | 必須 | すべて | node --version で v22 以降が表示され、ロックファイルに記載されたパッケージマネージャー(npm、pnpm、yarn)が実行できる | https://nodejs.org |
| GitHub CLI | ユーザー | 必須 | デプロイ、シークレット、実行、またはロールバック | gh auth status が成功し、gh repo view でリポジトリが見つかる | https://cli.github.com から入手し、gh auth login を実行します。GitHub リポジトリを作成してプロジェクトをプッシュします |
| Cloudflare アカウント | ユーザー | 必須 | すべて | npx wrangler whoami でアカウントが表示される | https://dash.cloudflare.com/sign-up で登録し、npx wrangler login を実行します |
| アカウント ID | 質問 | 必須 | デプロイ | wrangler の設定で account_id が設定されている | npx wrangler whoami でアカウントが 1 つ表示される場合はそれを使用します。複数表示される場合はどれを使うか尋ねます。wrangler の設定で account_id として記録します |
| CI API トークン | ユーザー | 必須 | シークレット | configuring-github-actions.md → Probe で、すべての権限が付与されていると報告される | configuring-github-actions.md → CI API token に従います |
ワークフロー
- セットアップ — 対象となるリクエストの「対象となる場合」に該当する セットアップ の各行を順に確認します。完了条件を満たしていればスキップします。
userの場合、必須なら方法を表示して停止し、任意ならそれなしで続行します。askの場合、リクエストからわかる情報を入力し、残りを 1 つのメッセージにまとめて尋ね、各回答を記録します。autoとstaticの場合は実行します。 - 契約 — deployment-contract.md を読みます。
- レシピ — レシピ の行を 1 つ選び、「参照」列にあるすべてのドキュメントを開きます。
- リポジトリのファイルのみを書き込みます。Cloudflare の変更は、本番ブランチへのプッシュ時にデプロイワークフローで実行します。CI トークンのプローブは、削除する一時的なブランチで実行します。
- Wrangler をローカルで実行するのは状態の読み取りのみで、
wrangler loginのセッションを使用します。エクスポートされたCLOUDFLARE_API_TOKENは決して使用しません。 - シークレットは設定せず、シークレット名のみを読み取ります。すべてのシークレットはユーザーが GitHub で設定します。
レシピ
| 意図 | 例となる表現 | 参照 |
|---|---|---|
| セットアップ | 「Cloudflare のデプロイをセットアップして」「deploying-cloudflare-web-application の準備はできていますか?」 | セットアップ — ワークフローのステップ 1 を各行について実行し、各行の状態を報告します |
| デプロイ | 「ウェブアプリを Cloudflare にデプロイして」「Cloudflare のデプロイワークフローを追加して」「D1 データベースを追加して」「カスタムドメインを関連付けて」「モノレポから apps/web をデプロイして」 | deploying-application.md |
| シークレット | 「デプロイに必要なシークレットは?」「Worker シークレットを追加して」「Cloudflare のデプロイをマージする準備はできていますか?」 | configuring-secrets.md |
| 実行またはロールバック | 「プッシュせずに今すぐデプロイして」「Worker をロールバックして」「現在公開されているバージョンは?」 | executing-direct-deploy.md |
| トラブルシューティング | 「Cloudflare のデプロイワークフローが失敗する」「デプロイ後、ページの再読み込みで 404 が発生する」 | troubleshooting-deployment.md |
コメント
Markdown 対応