Cloudflare Pages移行メモ

作成日:2024-03-20

今までGitHub Pagesで運用していたが、Cloudflare Pagesに移行したのでそのメモ。

ハマったところ

ビルドする際にryeを利用していたため、ビルド設定が追加で必要だった。 pyproject.tomlに以下の設定を追加した。

[tool.hatch.build.targets.wheel]
packages = ["site"]

mkdocsをビルドする際にRSSフィードの日付を見に行くところでGitのコミットログを参照していたが、CIでビルドしているため、うまく動かなかった。 ソースを見てもCloudflare Pagesには対応していなさそうだし、日付は各記事のfrontmatterに設定しているので、RSSフィードの日付を記事の日付に変更するように修正した。

plugins:
  - rss:
      match_path: blog/posts/.*
      date_from_meta:
        as_creation: "date.created"
        as_update: "date.updated"
        datetime_format: "%Y-%m-%d"
        default_timezone: Asia/Tokyo
        default_time: "00:00"
      use_git: false

感想

GitHub Pagesの時はActionsにビルドスクリプトをいろいろ書いていたが、Cloudflare Pagesは画面を適当にぽちぽちするだけで設定できたので楽だった。 使っているツールやライブラリがCloudflareの想定外のものだったので、そこの修正にはちょっと時間がかかったが、それ以外は特に問題なく移行できた。

大体ビルドには3分ぐらいかかっていて、大体がPython本体とライブラリのダウンロードとインストールに時間が取られていたので、キャッシュできるようになるといいな(記事執筆時点ではビルドキャッシュはベータでPythonはなかった)。