Contentfulで開発環境、本番環境で記事を出し分ける

開発環境用ではダミーの記事を出しておいて、本番環境では記事を差し替えられるようにしたいと思い立ち方法を調べてみた。

Contentful における環境について

git におけるブランチのような扱いで、メインの環境から別の環境をコピー(clone)することで、独立した環境として動作させることができる。

ただ一つ特徴として、環境に対して別名(Envirionment Alias)を指定することができ、この alias を識別子としてリソースのリクエストなどが可能。

こちらほぼ使いこなせてないので詳細は割愛。。

環境の切り替え方

管理画面の「Settings > Environments」に進み「Add Environment」から環境の作成を行う。

そして ID に任意の環境名を指定して「Add Environment」で作成完了!

環境が作成出来ればあとは自由に環境ごとにコンテンツを追加変更できるようになる。

API キーの追加作成

次に環境ごとのリソースにアクセスできるように API キーを追加で用意してやる必要がある。

今回は開発環境用に新たに API キーを生成して設定を行う。

「Settings > API keys」に進み「Add API key」からキーの作成に進み、キー名とキーの説明を入力。

そしてEnvironments & Environment Aliasesから使用したい環境を指定するのだが、ここで先ほど作成した環境と合わせて本番(大元の)環境を指定してやる必要がある。

そうしないと現状アクセスが不可能な仕様となっている模様。

この点は下記 issue にて言及があった。 https://github.com/gatsbyjs/gatsby/issues/26909

そして各環境ごとに API キー情報を設定することでコンテンツの出し分けが可能になった。やったね!