NetlifyのBuildを消費しない方法

blog-hero-imgローカル環境でBuildすることで、より速く、より安価にサイト運用ができます。

pen-icon2021.12.29

Profile Pic

この記事の筆者:三好アキ(エンジニア)


ウェブデザイナーから『エンジニア』『プログラマー』へ成長したい人、独学で進んでいきたい人を応援しています。 HTMLとCSSの知識だけでアプリ開発を始められる入門書を多数執筆中📕📗👇


ウェブ制作の教本『はじめてつくるReactアプリ』など複数冊を執筆。



React、Next.js、TypeScriptなどのお役立ち情報や実践的コンテンツを、ビギナー向けにかみ砕いて配信中。登録はこちらから → 無料メルマガ登録

ローカルでBuildするメリット

当サイト(Gatsby + Netlify)はずいぶん前から、「ローカル環境でBuildした後にGithubへプッシュしてNetlifyに反映する」という流れで運用しています。

それは単純にこの運用方法の柔軟性が高いからですが、同時にNetlifyのBuild(無料プランで月当たり300分)の消費を抑えられるというメリットもあります。

今回はその方法を紹介します。

.gitignoreファイルの編集

ここではGitHub(もしくはGitLab)とNetlifyはすでに連携している想定で進めていきます。

.gitignoreファイルを開くと、通常はpublicbuildフォルダはgitにコミット/プッシュしない設定になっています。

これを#をつけてコメントアウトし、プッシュするようにします。

// .gitignore

# public

もしくは

# build

これでBuild後のファイルが格納されたpublicbuildフォルダも、GitHubにプッシュされるようになります。

Netlifyの設定変更

Netlifyの管理画面の上部メニューで、「Site settings」→「Build & deploy」と進みます。

「Build settings」欄で「Edit settings」ボタンを押し、下図のように「Build command」を空欄にしてSaveします。

これでプッシュをしても、これまでのようにNetlify上でBuildは実行されず、publicbuildフォルダの中身がサイトに反映されるようになります。

ローカルで作業をするプロセス

コードに変更を加えた後、gitへプッシュする前に、まずnpm run buildgatsby buildなどのBuildコマンドをターミナルで実行します。

これによって今回加えた変更の反映された最新のデータがpublicbuildフォルダに用意されます。

Build完了後、gitへプッシュします。

.gitignoreに加えた変更によってpublicbuildフォルダもプッシュされ、これがNetlifyへと反映されます。

ローカルですでにBuildを済ませている分、サイトへの反映時間が大幅に短くなっているのがわかると思います。