Cloudflare Pages移行メモ
今までGitHub Pagesで運用していたが、Cloudflare Pagesに移行したのでそのメモ。
- Cloudflareにある
Worker & PagesからPagesを選択し、Create a projectを選択する。 - 新規作成して、GitHubリポジトリを選択する。
- 今回はmkdocsで作成しているので、
Build commandにmkdocs buildを設定する。 Build output directoryにsiteを設定する。デプロイが完了すると、設定した~.pages.devでアクセスできるようになる。- 独自ドメインを設定する場合は、
Custom domainsから設定する。
ハマったところ
ビルドする際に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はなかった)。