DEV Community

loading...

Netlify で WebAssembly バイナリを Git LFS 経由でデプロイして配信する

voluntas profile image voluntas Updated on ・1 min read

Netlify は静的ファイルを配信する素敵サービスです。Git 連携してくれるので Git に Push するだけで、ビルドしてデプロイしてくれたりします。

無料で使えるので、触ったことない人は触ってみることをおすすめします。

https://www.netlify.com/

WebAssembly バイナリを Netlify にデプロイして配信したい

Go 経由で出力した WebAssembly バイナリを Netlify にデプロイしてみたのですが、自分がやりたいことを満たしていたので簡単にまとめておきます。

やったことは dist/ というフォルダに Git LFS を利用して WebAssembly バイナリを追加し、 dist/ をデプロイしてみました。

利用した機能は Netlify Large Media という機能です。

https://www.netlify.com/products/large-media/

簡単に言えば Git LFS で登録しておいた大きめのバイナリデータを配信してくれる機能です。

使い方はドキュメントを読めばそのままなので解説は特にしません。
ただ Git LFS と netlify-cli というコマンドが必要になります。

https://docs.netlify.com/large-media/overview

結果、配信されたファイルをキャッシュに詳しい人にチェックしてもらったところ ...

  • content-type は application/wasm で問題ない
  • content-encoding は br で brotli で圧縮されて配信されていた
  • cache-control は public, max-age=0, must-revalidate でキャッシュされるけど即座に入れ替わる(max-age=0)し仮に取得できなくてもすでに持ってるキャッシュを再利用しない(must-revalidate)
  • age が増えてるのでキャッシュが挟まっていそう
  • 容量が 2.9 MB 近いが問題なくデプロイされた
  • Pro プランであれば 400G 転送量があるのでよほどのことがない限り困らなさそう

無事 WebAssembly バイナリが Netlify にがデプロイされ配信できました。

image

Discussion

pic
Editor guide