Herokuにバイナリを組み込むbuildpackを作成するを参考に作ってみた。
以下、メモ。
- Heroku BuildpackとはHerokuでアプリケーションを動かす環境をパッケージングしたもの。rubyとかnodeとかの環境もそれで、自作すればオレオレ環境を作ることができる。
- 通常ひとつのアプリケーションに対してひとつのbuildpackしか指定できないのだけれども、heroku-buildpack-multiを使うと、複数のbuildpackを組み合わせて使えるようになる。
- 手順的には次の2ステップ
- 実際にインストールするバイナリを作成する
- ビルド用のアプリケーションを作り、
heroku run bash
でシェルを開いて実際にビルドしていく。 - このへんはSendgridの記事が詳しい。
- この中で使われているsrvdirが超絶便利でヤバい。
- バイナリをどこに置くかは悩ましい。とりあえずDropboxのPublicに置いた。
- ビルド用のアプリケーションを作り、
- Buildpack APIに準拠したリポジトリを作成する
- 実際にインストールするバイナリを作成する
- 今回作ったmplayerがyasmに依存するので、そこらへんは
detect
でインストール済みか否かを判定するべきなのかも。