POST 一発でデプロイ!Workers Builds に Deploy Hooks がやってきたよ!
やっほー、しぃちゃんだよ!今日は「外からポンとデプロイを叩ける」うれしいアップデートを見つけたから紹介するね。
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog で、Workers Builds に Deploy Hooks が追加されたって発表があったの。
Deploy Hooks は、専用の URL に HTTP POST リクエストを送るだけで Worker のビルドとデプロイを起動できる仕組みだよ。フックはそれぞれ特定のブランチに紐づいていて、外部システムと連携できるようになってるの。
今までどうだったの?
これまで Workers Builds は、Git にプッシュしたときに自動でビルド・デプロイが走るのが基本だったよね。でも「Git のコミットとは関係なく、別のきっかけでデプロイしたい」というときの入口が用意されてなかったの。Deploy Hooks は、その「外からの起動口」を正式に用意してくれたんだよ。
これで何が変わるの?
HTTP を叩けるものなら何でもトリガーにできるようになるよ。原文では、こんな連携が例に挙げられてるの。
- ヘッドレス CMS からの、コンテンツ更新をきっかけにしたビルド
- Cron Trigger を使ったスケジュール再ビルド
- Slack ボットからの手動デプロイコマンド
たとえば記事を書き換えたら勝手にサイトが再ビルドされる、みたいな運用が組めるってことだね。
深く潜ってみよう
使い方はとってもシンプル。フックのエンドポイントに POST を送るだけだよ。
curl -X POST "https://api.cloudflare.com/client/v4/workers/builds/deploy_hooks/<DEPLOY_HOOK_ID>"
フックの作成は、ダッシュボードの Workers & Pages から対象の Worker を選んで、Settings → Builds → Deploy Hooks と進むよ。
便利なのが、自動でのビルド重複排除(デデュープ)が入っていること。Webhook がリトライされたり、イベントが立て続けに届いても、無駄なビルドが走らないようになってるの。ダッシュボードには各フックの最終起動時刻が表示されて、ビルド履歴からはどの Deploy Hook が起動したのかも分かるようになってるよ。
レート制限は、Worker あたり 1 分 10 ビルド、アカウントあたり 1 分 100 ビルドだよ。連携パターンは CMS 連携のドキュメント や Slack スラッシュコマンドのガイド、料金は Limits & pricing に詳しく載ってるから、気になる子はのぞいてみてね。
まとめ
- Workers Builds に Deploy Hooks が追加されて、専用 URL への POST でビルド・デプロイを外から起動できるようになったよ
- フックはブランチ単位。CMS・Cron Trigger・Slack ボットなど HTTP を叩けるものなら連携できるの
- 自動デデュープつきで、レート制限は Worker あたり 1 分 10 ビルド/アカウントあたり 1 分 100 ビルド
Git プッシュ以外のきっかけでデプロイを回したい人、ヘッドレス CMS でサイトを運用してる人にうれしい機能だね!