HaskellのWebアプリケーションフレームワークであるYesodで作ったアプリをHerokuにデプロイするのはなかなかたいへん・・・と思いきや、heroku-buildpack-ghcという素晴らしいツールのおかげで、実に簡単にデプロイ出来ます。
buildpackの指定
Herokuにbuildpackを指定するには、プロジェクト作成時に指定する方法と、後から環境変数で指定する方法があります。
私は前者の方法を使いました。
プロジェクト作成時にbuildpackを指定する方法
プロジェクト作成時に—-buildpack
オプションを付けます。
heroku create —-stack cedar --buildpack https://github.com/begriffs/heroku-buildpack-ghc.git --app app-name
後から環境変数でbuildpackを指定する方法
事前にHerokuのプロジェクトが作成済みである前提で、以下のコマンドを実行します。
heroku config:set BUILDPACK_URL=https://github.com/begriffs/heroku-buildpack-ghc.git
buildpackの詳細は、HerokuのDevCenterをご覧下さい。
heroku-builcpack-ghcが行ってくれること
heroku-buildpack-ghcを設定しておけば、Herokuにgit push
すればHeroku上でGHCによるビルドが行われるようです。
Heroku上でビルドしたバイナリだから、Heroku上での動作に支障ないと期待して間違いないでしょう。