Gatsbyはビルド時に一度だけ記事データを取得し静的なページを作成しておくという性質上、記事データが追加・変更されてもサイト上に更新は反映されません。
そのため更新を反映したい場合は、手動でnetlify上でビルドしデプロイしなければなりません。
しかし、ContentfulとnetlifyをWebhookで連携することによって自動で更新を反映することができます。
Webhookとはあるアプリケーションの更新を他のアプリケーションへ伝える仕組みのことです。
ContentfulにはWebhookが用意されており、netlifyにはBuild hooksと呼ばれるビルドとデプロイを行うためのAPIが用意されています。
この2つを連携することで記事の公開や更新をトリガにデプロイを自動で行えるようにしていきます。
netlifyのBuild hooksの設定
OverviewよりSite settingsを押します。
左のメニューより「Build & deploy」を選びます。
「Build hooks」内の「Add build hook」を選びます。
Build hook nameに「Contentful Webhook」と入力し、「Save」を押します。
すると、URLが発行されます。このURLをContentfulへ連携します。
ContentfulのWebhookの設定
Contentfulのメニュー上部のSettings->Webhooksを選択します。
netlifyの項目からAddを選択します。
netlifyのBuild hooksで発行されたURLを設定し、「Create webhook」を押します。
以上で設定は終了です。
実際にContentfulで新しいデータを作成し、デプロイされるか確認してみましょう。