Experience Edge の Preview を利用することで、公開前のデータを確認することが可能ということを前回確認をしました。そこで、Preview 用のインスタンスを Vercel で今回は用意してみます。
更新情報
JSS 21.6 以降は Context ID を利用して Preview も簡単に作ることができるようになりました新しい記事を参考にしてください。
Preview ブランチを用意する
まず GitHub のリポジトリで Preview のブランチを用意します。Preview のブランチは main ブランチから今回は作成します。
![postmanedge13.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2FNXEh82Z5dTRfPmlj6JbyC%2F7a2bf219cc87f2ff89ae605f9df9e767%2Fpostmanedge13.png&w=2048&q=75)
続いてこのブランチを利用するドメインを Vercel に設定をします。まず、Domains の画面で以下のようにドメインを指定します( vercel.app のドメインでも問題ありませんが、今回は preview.sitecoredemo.jp としています)。また、ブランチをここでは preview を指定しました。
![postmanedge15.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F3dbHc83svR1yO9yWCtSWIo%2F171fa04aa2c5aa22f8a8156009d55b22%2Fpostmanedge15.png&w=3840&q=75)
最後に Environment Variables に関して以下の項目を変更していく必要があります。
- SITECORE_API_KEY
- GRAPH_QL_ENDPOINT
まず、すでに設定しているキーは Production のみの値として設定をします。続いて Preview に関してのキーを設定しますが、この際ブランチを指定します。
![postmanedge16.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F3sJGJ5BNTj4qsLf7554MXw%2Fb7e2b67c1e99be11a98f542440848e91%2Fpostmanedge16.png&w=3840&q=75)
設定が完了した画面は以下の通りです。
![postmanedge17.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F2jhYSapPRZ6CJficnMk4nh%2F2f9352183812596947754a52aa1833a7%2Fpostmanedge17.png&w=3840&q=75)
GitHub の Preview ブランチに対して、ファイルを更新してください。コメントアウトしている文章を更新する程度で問題ありません。更新をすると、以下のように preview が build されます。
![postmanedge18.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2Fkgiglmt0AQXXIJrvQnjCF%2Fd2212f76d4f6c0808123432840a7d878%2Fpostmanedge18.png&w=3840&q=75)
Deploy が完了した画面は以下の通りです。
![postmanedge19.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F36Sh7kzAVohSewqxwVHci1%2F775480aa4365e5f9a1b8e0d7e1c8b971%2Fpostmanedge19.png&w=3840&q=75)
ページを更新する
今回は、Pages でコンテンツの更新をします( Display Name は Sitecore の中で利用している値のため、ページのプレビューではわからないため)。簡単な文字の変更をしました。
![postmanedge20.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F6Z9f3U2FgnDqYZ4oYXOA0r%2F1dff87c5981f12759f7ba772ea1b3416%2Fpostmanedge20.png&w=3840&q=75)
Preview のインスタンスにアクセスをすると、以下のようにページが変更されていることがわかります。
![postmanedge21.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F4rE6VKqyA1p3lLlQo2cdIc%2Fb3d3c725e0f5554544f6019433593fcd%2Fpostmanedge21.png&w=3840&q=75)
Publish をすることで外部に反映されます。このように、コンテンツデータベースは1つで、公開済、プレビューという形でサイトを作ることができました。
まとめ
今回は GitHub のブランチを用意して、Preview を用意しました。そしてその Preview が利用する Experience Edge の値を Preview の値にすることで、1つの CMS で編集中のデータをブラウザで確認することができるようになりました。GitHub の環境は main の前に preview を設定、preview からのみ pull request を送れるようにしておくことができます。