Netlify Build Imageを使ってNetlifyでのビルドをローカル実行する

NetlifyでSPAをホストしている場合、「ローカルではビルドに成功するのに、Netlifyのビルドがこける」というケースが稀によくあります。そんなときにローカルでNetlifyビルドをテストできるツールが公開されています。

Pull the Docker image

まずはDockerイメージをpullしましょう。

$ docker pull netlify/build:xenial

Download the project

続いてGitHubのプロジェクトをcloneしておきます。

$ git clone git@github.com:netlify/build-image.git
$ cd build-image

こちらのリポジトリにあるスクリプトをいくつか利用する形で構成されていますので、基本的には「アプリのプロジェクトルート」ではなく「build-imageのプロジェクトルート」から操作を行う形となります。

Start the Container

以下のコマンドでコンテナを起動します。パスは対象のプロジェクトのものに差し替えてください。

$ ./test-tools/start-image.sh path/to/site/repo
buildbot@0605048257f4:/$ 

コンテナ内では、以下のように/opt/build-bin/build COMMANDで実行します。

$ /opt/build-bin/build npm run build

終了する場合はexitコマンドを実行します。これでコンテナも停止してくれました。

Build with cache

ビルドキャッシュを使うパターンについては、別のコマンドを利用することで再現できます。

./test-tools/test-build.sh path/to/site/repo
 Using temp cache dir: tmp/tmp.oJosE3kthn/cache
 Cloning into '/opt/buildhome/repo'…

Comment