Chapter 24

記事公開・更新をトリガにデプロイを行う

Gatsbyはビルド時に一度だけ記事データを取得し静的なページを作成しておくという性質上、記事データが追加・変更されてもサイト上に更新は反映されません。
そのため更新を反映したい場合は、手動でnetlify上でビルドしデプロイしなければなりません。

しかし、ContentfulとnetlifyをWebhookで連携することによって自動で更新を反映することができます。
Webhookとはあるアプリケーションの更新を他のアプリケーションへ伝える仕組みのことです。

ContentfulにはWebhookが用意されており、netlifyにはBuild hooksと呼ばれるビルドとデプロイを行うためのAPIが用意されています。
この2つを連携することで記事の公開や更新をトリガにデプロイを自動で行えるようにしていきます。

netlifyのBuild hooksの設定

OverviewよりSite settingsを押します。
site-setting.png

左のメニューより「Build & deploy」を選びます。
「Build hooks」内の「Add build hook」を選びます。
add-build-hook.png

Build hook nameに「Contentful Webhook」と入力し、「Save」を押します。
すると、URLが発行されます。このURLをContentfulへ連携します。
webhook-name.png

ContentfulのWebhookの設定

Contentfulのメニュー上部のSettings->Webhooksを選択します。
contnetful-settings.png

netlifyの項目からAddを選択します。
add-netlify.png

netlifyのBuild hooksで発行されたURLを設定し、「Create webhook」を押します。
netlify-url.png

以上で設定は終了です。
実際にContentfulで新しいデータを作成し、デプロイされるか確認してみましょう。