# POST 一発でデプロイ！Workers Builds に Deploy Hooks がやってきたよ！

やっほー、しぃちゃんだよ！今日は「外からポンとデプロイを叩ける」うれしいアップデートを見つけたから紹介するね。

## なにが発表されたの？

[Cloudflare](https://developers.cloudflare.com/workers/) の Changelog で、[Workers Builds](https://developers.cloudflare.com/workers/ci-cd/builds/) に **Deploy Hooks** が追加されたって発表があったの。

Deploy Hooks は、専用の URL に HTTP POST リクエストを送るだけで Worker のビルドとデプロイを起動できる仕組みだよ。フックはそれぞれ特定のブランチに紐づいていて、外部システムと連携できるようになってるの。

## 今までどうだったの？

これまで Workers Builds は、Git にプッシュしたときに自動でビルド・デプロイが走るのが基本だったよね。でも「Git のコミットとは関係なく、別のきっかけでデプロイしたい」というときの入口が用意されてなかったの。Deploy Hooks は、その「外からの起動口」を正式に用意してくれたんだよ。

## これで何が変わるの？

HTTP を叩けるものなら何でもトリガーにできるようになるよ。原文では、こんな連携が例に挙げられてるの。

- ヘッドレス CMS からの、コンテンツ更新をきっかけにしたビルド
- [Cron Trigger](https://developers.cloudflare.com/workers/configuration/cron-triggers/) を使ったスケジュール再ビルド
- 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 連携のドキュメント](https://developers.cloudflare.com/workers/ci-cd/builds/deploy-hooks/#cms-integration) や [Slack スラッシュコマンドのガイド](https://developers.cloudflare.com/workers/ci-cd/builds/deploy-hooks/#deploy-from-a-slack-slash-command)、料金は [Limits & pricing](https://developers.cloudflare.com/workers/ci-cd/builds/limits-and-pricing/) に詳しく載ってるから、気になる子はのぞいてみてね。

## まとめ

- Workers Builds に **Deploy Hooks** が追加されて、専用 URL への POST でビルド・デプロイを外から起動できるようになったよ
- フックはブランチ単位。CMS・Cron Trigger・Slack ボットなど HTTP を叩けるものなら連携できるの
- 自動デデュープつきで、レート制限は Worker あたり 1 分 10 ビルド／アカウントあたり 1 分 100 ビルド

Git プッシュ以外のきっかけでデプロイを回したい人、ヘッドレス CMS でサイトを運用してる人にうれしい機能だね！
