emahiro/b.log

日々の勉強の記録とか育児の記録とか。

Cloudflare Pages でデプロイ時にコンテンツが更新されないときはビルドキャッシュを削除する

Overview

SSG × Cloudflare Workers & Pages でホスティングしているウェブサイトにおいて、Cloudflare Workers のデプロイパイプライン上でビルド -> デプロイをしてもサイト内のコンテンツ(特にブログの一覧)が更新されないときはデプロイ前にビルドキャッシュを削除するといい、という話です。

起きてること

Next の SSG モードで開発してるサイトを Cloudflare Pages にホスティングしてるのですが、デプロイ時にコンテンツが更新されない問題がありました。
手元のローカル環境でビルドしたときは特に問題なくサイト情報は更新されているので、Cloudflare worker のデプロイパイプラインが動いてる環境の問題かなと思われたので、Cloudflare workers のコンソールの「設定」内のビルドキャッシュを削除を実行してその後デプロイを再度走らせるとちゃんとコンテンツが更新された、ということです。
おそらくデプロイパイプラインの中で node_module や Next(SSG関連含む)の生成物などの中間ファイルをキャッシュしており、このキャッシュが更新されないことが問題だと思われます。

デプロイ時にバージョンを更新するなどパイプライン上でいい感じにビルドキャッシュを削除できるといいのですが、今のところ Cloudflare workers のデプロイのみに依存する場合はなさそうなので、一旦手動のこの対応をワークアラウンドとして採用しています。
特に困ってもないですが、もう少しイケてるデプロイを採用したいなと考えていて改善策を思案中です。