(Cloudflare Pages)GitHub連携しているとブランチを削除してもPreview Deploymentが残り続ける

2024/12/12に公開

結論

GitHubリポジトリを指定してCloudflare Pagesを作成する場合の話です。リポジトリの運用次第では問題が生じるかもしれません。

  1. メインではないブランチを作成するとPreview Deploymentが作成されます。
    • このときプレビュー用のURLが発行されます。https://ランダム文字列名.プロジェクト名.pages.devでアクセスできます。
    • またはhttps://ブランチ名.プロジェクト名.pages.devでアクセスできます。このURLはブランチの中で最新のPreview Deploymentを指すエイリアスです。
  2. ブランチを削除しても、そのブランチに対応するPreview Deploymentは残り続けます。
    • これは仕様です。ブランチの削除とPreview Deploymentの削除は連動していません。
  3. Cloudflareのダッシュボード画面からAll deployments→Manage deployment→Deleteを実行すると、一覧からはPreview Deploymentが消えたように見えます。
    • 表示されなくなるだけでありPreview Deploymentは残り続けます。
    • プレビューURLもアクセス可能なまま残り続けます。

Preview Deployment機能のおさらい

Cloudflare PagesにはProduction環境とPreview環境が用意されています。

  • GitHubリポジトリを連携している場合、メインのブランチではないブランチにpushされると自動的にPreview Deploymentが作成されます。
  • CLIの場合、wrangler pages deploy ディレクトリ名 --branch ブランチ名コマンドを実行するとPreview Deploymentが作成されます。

事象が発生するのはGitHubリポジトリを連携している場合のみです。CLIからデプロイしたPreview Deploymentは期待通り削除できます。プレビューURLについても、削除後は404 Not Foundが返されてアクセスできなくなります。

参考資料

  1. How to Delete Aliased Preview Deployments? - Developers / Cloudflare Pages - Cloudflare Community

Discussion