Tech系サービスやガジェットの使い心地、自分の作業環境、資産運用について気が向いたときに記録を残しています。

記事内のAmazonアソシエイト適格販売及び、Google Adsenseでお小遣いを得ています。

Gatsbyで運用しているサイトのビルドをVercelからGatsby Cloudに変えてみたら爆速になった

10分くらいかかってたビルドが3分になった、催眠術とか超スピードとかそんなチャチなもんでは(ry

超技術に感動したので、自分がホストしているGatsby Webサイトのビルドを全部任せることにしました。

なお、ファイル数多いリポジトリの場合、Vercel無料プランの5000アップロード/day 制限に引っかかります。(Vercel内でビルドする場合はビルド前ファイルが1万ファイル上限) このため画像の多いブログはVercelではなくFirebase hostingへ移行することになりましたが、サークルサイトは以下の方法でサクッとビルド環境のみを移行できました。

移行手順

Vercelでのリダイレクト設定やキャッシュ設定は維持したまま、5分でビルド環境のみをGatsby Cloudへ移行できます。

  1. VercelプロジェクトのGitHubリポジトリ連携を切る
  2. Gatsby Cloudでプロジェクトを作成して、使っていたGitHubプロジェクトを連携する
  3. Hosting先としてVercelを選択して連携する
  4. プロジェクトルートにあったvercel.json/static/以下に移動して、ビルド後のルート直下に配置されるようにしてPush

3の時点で1回ビルドが走り、プレビュー用URLが発行されるのでそこで動作確認できます。

メリット

Lighthouse CIを回せる

Gatsby Cloudはビルド後に自動的にLighthouseCIを回してスコア算出してくれます。せっかくGitHub Actionsで実装したのに…

f:id:gensobunya:20200918090524p:plain

ありえんくらいビルドが速い

Vercelのビルドは下記記事参照。これはサークルサイトなので2~3分で終わっていますが…

gensobunya-tech.hatenablog.com

Gatsby Cloudでは1分です。

f:id:gensobunya:20200908233036p:plain

※追記、10000以上のサムネイルを生成するブログをGatsby CloudでビルドしてFirebase Hostingにデプロイしました

f:id:gensobunya:20200918090524p:plain

ホスティング先を気軽に変更できる

NetlifyやVercelはビルド+ホスティングでしたが、Gatsby Cloudを間に挟むことでビルドとホスティング疎結合な構成になりました。

Gatsby Cloudでビルド先設定を変更することで、FirebaseでもS3でもGCSでも好きなホスティングさきにいつでも変更できます(DNSレコードの変更が必要ですが)

プレビュー環境にアクセス制限がかけられる!(無料

シンプルなパスワード制限やGatsby cloudのログイン状態などで制限がかけられます。 仕事で使うときによく出る要件なので、嬉しいですね

もちろんPRプレビューもあるぞ!

特定Branchを常にビルドするオプションは、個人プランでは無いみたいですね。VercelやNetlifyの方が一枚上手。

f:id:gensobunya:20200918090947p:plain

まとめ

これまで、ホスティングサービスはビルドとホスティングがセットになっていましたが、Gatsby Cloudはビルドのみを最適化するため、「リポジトリ」「ビルド」「ホスティング」全てを疎結合に構成することができるようになりました。 静的サイトで回すテストは、機能面以外だとLightHouseCIが鉄板だと思うので、そこがビルトインされているのも非常にうれしいですね。