cosense-site-kit は GitHub Pages と Cloudflare Workers Static Assets の両方に対応します。どちらも GitHub Actions の cron でビルドして配信する前提です。
共通: ワークフローを生成
npx cosense-site deploy initcosense.config.ts の deploy.target に従い、.github/workflows/build.yml が生成されます。
GitHub Pages
リポジトリの Settings → Pages → Source を GitHub Actions に切り替えます。それだけ。
サブパス(<user>.github.io/<repo>/)に配信する場合は site.base を設定します:
site: {
baseUrl: "https://shinyaoguri.github.io",
base: "/cosense-site-kit",
}Cloudflare Workers Static Assets
リポジトリ Secrets に2つ追加:
- CLOUDFLARE_API_TOKEN
- CLOUDFLARE_ACCOUNT_ID
ワークフロー生成時に wrangler.jsonc も出力されます。
スケジュール
デフォルトは cron: "17 1,13 * * *"(1日2回、毎時00分を避けたタイミング)。Cosense は分単位で更新する性質ではないので、これで十分です。
キャッシュ
actions/cache@v4 で .cosense-cache/ を CI 実行間に永続化します。差分 fetch のおかげで、2 回目以降のビルドは Cosense への負荷も時間もごく小さくなります。
関連
- まずは Quick start
- デプロイ前に Doctor
テンプレートから作った場合
cosense-site-starter から作ったリポジトリは .github/workflows/build.yml を同梱済みなので deploy init は不要です。Settings → Pages → Source を GitHub Actions にするだけで動きます。