Astro で作ったサイトを Cloudflare Workers で配信する
静的サイトと
このサイトは Astro で作り、Cloudflare Workers で配信しています。構成と手順を簡単にまとめます。
構成
- Astro:すべてのページと記事をビルド時に HTML として生成する(静的サイト)
- Cloudflare Workers(静的アセット):生成した
dist/をそのまま配信する - GitHub:
mainに push すると、Cloudflare 側でビルドとデプロイが走る
サーバー側の処理がない静的サイトなので、@astrojs/cloudflare アダプターは使いません。
wrangler の設定
プロジェクト直下に wrangler.jsonc を置き、配信するディレクトリを指定します。
{
"name": "l2md",
"compatibility_date": "2026-10-17",
"assets": {
"directory": "./dist",
// 存在しない URL には dist/404.html を返す
"not_found_handling": "404-page",
},
}
ローカルで確認してデプロイする
# 開発サーバー(http://localhost:4321)
npm run dev
# ビルドして、Cloudflare と同じ実行環境で確認
npm run build
npx wrangler dev
# 手動でデプロイ
npm run deploy
Git 連携で自動デプロイする
Cloudflare ダッシュボードの Workers & Pages から GitHub リポジトリを連携すると、push のたびに自動でビルド・デプロイされます。
| 項目 | 値 |
|---|---|
| ビルドコマンド | npm run build |
| デプロイコマンド | npx wrangler deploy |
記事を書いて push するだけで公開まで終わるので、テックブログの運用にも向いています。