バイナリファイル実行用のbuildpackを自作したので、それを利用してherokuにバイナリファイルをデプロイする方法を紹介します。Linuxのコンテナで動くバイナリなら何でもデプロイ出来そうです。
取り敢えず動かしたい
最低限のファイルを用意したリポジトリを作ったので、取り敢えずサンプルを動かしてみたい方は以下の手順でデプロイしてみてください。
# Get example app
git clone git://github.com/uehr/binary-heroku-example.git
cd binary-heroku-example
# Create a heroku app
heroku create --stack cedar --buildpack https://github.com/uehr/heroku-buildpack-bin.git
# Deploy to heroku
git push heroku master
# Open heroku app url
heroku open
成功するとこのように表示されます
実行するバイナリファイルを準備
.
└── binary
Procfileを作成
用意したバイナリファイルへのパスをこのようにProcfileへ書き込みます
Procfile
web: ./binary
ディレクトリ構成
.
├── binary
└── Procfile
git add/commit
git init
git add .
git commit -m "initial"
herokuアプリ作成
buildpackを指定してherokuアプリを作成
heroku create --stack cedar --buildpack https://github.com/uehr/heroku-buildpack-bin.git
アプリ名を設定する場合
heroku create アプリ名 --stack cedar --buildpack https://github.com/uehr/heroku-buildpack-bin.git
herokuにデプロイ
後はpushしてデプロイするだけです、無事動くことを祈りましょう...。
git push heroku master
デバッグ
heroku open
: herokuアプリのURLを開いて動作状況を確認
heroku logs -t
: リアルタイムにherokuのログとバイナリファイルの標準出力を確認