一覧へ戻る

Cloudflareにデプロイ

開発環境の構築

まずはプロジェクト用のディレクトリを作成し、VS Codeで開いて .devcontainer ディレクトリを作成しました。 最近は開発環境をコンテナで統一することが多いため、devcontainer.json と Dockerfile を用意してコンテナ内で作業を進める。

Astroのインストール

コンテナ内のプロジェクトルートでAstroをインストール。

npm create astro@latest

そして、開発サーバーを起動

npm run dev -- --host

ブラウザでlocalhost:4321にアクセスするとAstroのWelcomeページが表示される。

Cloudflare Pagesへのデプロイ

とりあえずベースはできたので、コミットして、事前に作成しておいたGitHubのhayamakレポジトリにPush。

Cloudflareでアカウントを作成して、Compute > Workers & Pages > Create applicationをクリックして、PagesからGet startedしてImport an existing Git repositoryでGitHub上のhayamakリポジトリを選択。Begin Setupをクリックして完了。

デプロイ完了!

ここまで日曜日の午後にお酒を飲みながらダラダラやって15分程度。Cloudflare Pagesが発行したURLをiPhoneのSafariに入力して、エンターを押したら瞬時にAstroのWelcomeページが表示された。

もちろん、まだAstroのWelcomeページを表示しているだけなので、コンテンツ量が少ないことも影響していると思う。

それでも、iPhoneでURLを入力してエンターを押した瞬間にページが表示された感覚には驚いた。

Cloudflareのエッジサーバから静的なHTMLを返すというシンプルな構成が、これほど快適な体験につながるのかとあらためて感じた。

改めて「速いサイトはストレスがなくて気持ちがいい = 良いUX」という当たり前のことを認識できました。