コンテンツにスキップ

Cloudflare Pages移行メモ

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

  • CloudflareにあるWorker & PagesからPagesを選択し、Create a projectを選択する。
  • 新規作成して、GitHubリポジトリを選択する。
  • 今回はmkdocsで作成しているので、Build commandmkdocs buildを設定する。
  • Build output directorysiteを設定する。
  • デプロイが完了すると、設定した~.pages.devでアクセスできるようになる。
  • 独自ドメインを設定する場合は、Custom domainsから設定する。

ハマったところ

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

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

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

Text Only
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はなかった)。