OpenAICloudflare Developer Platform2026/04/01 0:00

Workers - Deploy Hooks are now available for Workers Builds

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

openaijamodel: gpt-5-mini-2025-08-07

Workers BuildsでDeploy Hooksが利用可能に

Key Points

  • POSTで起動
  • 自動重複排除
  • レート制限あり

Summary

Workers BuildsがDeploy Hooksをサポートしました。ブランチごとに固有のPOST用URLが発行され、ヘッドレスCMS、Cronトリガー、Slackなど任意のHTTP送信元からビルドとデプロイを起動できます。ダッシュボードでフック作成・管理が可能で、ビルド履歴にどのフックで起動したかが表示されます。

Key Points

  • 作成場所: Workers & Pages > 対象Worker > Settings > Builds > Deploy Hooks
  • トリガー: 各Deploy Hookは固有のURL(POST送信)で、ブランチに紐づく。外部サービスや別のWorkerから呼び出せる。
  • 使い方例(curl):
curl -X POST "https://api.cloudflare.com/client/v4/workers/builds/deploy_hooks/<DEPLOY_HOOK_ID>"
  • WorkerからCronで呼ぶ例(JavaScript):
export default {
  async scheduled(event, env, ctx) {
    ctx.waitUntil(fetch(env.DEPLOY_HOOK_URL, { method: 'POST' }));
  },
};
  • ビルトイン最適化:
    • 自動重複排除: 最初のビルドが開始する前に重複トリガーがあれば冗長なビルドをスキップ
    • ダッシュボードに「Last triggered」表示、ビルド履歴にフック名を表示
  • レート制限: Workerごとに10ビルド/分、アカウントごとに100ビルド/分(詳細はLimits & pricing参照)
  • 開始方法: ダッシュボードでフックを作成し、送信元でPOSTを行う。詳しくはDeploy Hooksドキュメントを参照してください。

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

openaijamodel: gpt-5-mini-2025-08-07

Workers — Deploy Hooks が Workers Builds で利用可能になりました

Deploy Hooks が Workers Builds で利用可能になりました

Workers Builds は Deploy Hooks をサポートするようになりました — headless CMS、Cron Trigger、Slack ボット、または HTTP リクエストを送信できる任意のシステムからビルドをトリガーできます。各 Deploy Hook は特定のブランチに紐づく一意の URL です。これに POST を送信すると、Worker のビルドとデプロイが実行されます。

例(CLI):

curl -X POST "https://api.cloudflare.com/client/v4/workers/builds/deploy_hooks/<DEPLOY_HOOK_ID>"

作成方法:

  • Cloudflare ダッシュボードで Workers & Pages > your Worker > Settings > Builds > Deploy Hooks に移動して Deploy Hook を作成します。
  • Deploy Hook は URL なので、別の Worker から呼び出すこともできます。例えば、Cron Trigger を持つ Worker で定期的にプロジェクトを再ビルドする例:

JavaScript

export default {
  async scheduled(event, env, ctx) {
    ctx.waitUntil(fetch(env.DEPLOY_HOOK_URL, { method: "POST" }));
  },
};

TypeScript

export default {
  async scheduled(event: ScheduledEvent, env: Env, ctx: ExecutionContext): Promise<void> {
    ctx.waitUntil(fetch(env.DEPLOY_HOOK_URL, { method: "POST" }));
  },
} satisfies ExportedHandler<Env>;

ユースケース:

  • CMS が新しいコンテンツを公開したときに再ビルドする。
  • Slack のスラッシュコマンドなど、外部トリガーからデプロイする。

組み込みの最適化:

  • 自動重複排除(Automatic deduplication): Deploy Hook が最初のビルド開始前に複数回発火した場合、冗長なビルドは自動的にスキップされます。これにより、webhook の再試行や CMS イベントのバースト到着時にビルドキューが整理されます。
  • 最終トリガー時刻(Last triggered): ダッシュボードで各フックが最後にトリガーされた時刻を表示します。
  • ビルドソース(Build source): Worker's のビルド履歴に、どの Deploy Hook(名前)でビルドが開始されたかが表示されます。

制限:

  • Deploy Hooks は Worker ごとに毎分 10 ビルド、アカウントごとに毎分 100 ビルドにレート制限されています。すべての制限については Limits & pricing を参照してください。

始めるには、Deploy Hooks documentation をお読みください。