DEV Community

voluntas
voluntas

Posted on • Edited on

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

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

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more