コンテンツにスキップ

第12章: GitHub Actions CI/CD とリアルタイム監視

12.1 GitHub Actions による完全自動デプロイ

main ブランチにマージされたら、テストを実行し、自動的に wrangler deploy を行うGitHub Actionsワークフローです。

.github/workflows/deploy.yml

name: Deploy Workers
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
name: Deploy to Cloudflare Workers
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run Tests
run: npm test
- name: Deploy with Wrangler
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}

12.2 本番ログのリアルタイム監視(wrangler tail

リリース直後や本番障害時、エッジで発生しているリクエストやエラーログをターミナルでリアルタイムにストリーミング監視できます。

Terminal window
# 全ログをリアルタイム表示
npx wrangler tail
# HTTPステータスが4xxや5xxのエラーのみに絞り込む
npx wrangler tail --status error
# 特定の検索文字列を含むログのみ表示
npx wrangler tail --search "Database error"

12.3 緊急時の即時ロールバック(wrangler rollback

バグを含むコードを本番デプロイしてしまった場合、GitのRevertを待たずに数秒で直前の安定バージョンへロールバックできます。

Terminal window
# 直前のデプロイバージョンへ差し戻す
npx wrangler rollback

次章からは、いよいよ本ガイドのハイライトである 「Cloudflare × GCP(Google Cloud)のハイブリッド連携設計」 に突入します。


💡 用語解説コラム

[!NOTE] CI/CD (継続的インテグレーション / 継続的デプロイ)
コードをGitにpushした際、自動でテスト(CI)を実行し、合格したら本番へ自動反映(CD)するパイプライン。手動デプロイの手間とミスを撲滅します。

[!NOTE] 可観測性 (Observability)
システムの内部状態(ログ、メトリクス、トレース)から「今どこで何が起きているか」を正確に把握できる度合い。wrangler tailによるリアルタイム監視がこれに当たります。