Webhookとcronで作る自動化パイプライン
Webhook駆動の自動化システムを設計・実装する方法を実例で紹介。
自動化の2つのトリガー
イベント駆動(Webhook)と時間駆動(cron)。組み合わせが最強。
設計例
- GitHub Webhookでpushを検知
- ビルド&テスト実行
- 結果をSlack通知
- 失敗時はcronで定期リトライ
実装
app.post("/webhook", (req, res) => {
const event = req.headers["x-github-event"];
queue.push({ event, payload: req.body });
res.status(200).send("ok");
});
まとめ
Webhookでリアルタイム性、cronで確実性。両方使え。