Title - Wake Up! Good Night*

stackのbuildpackを使って、herokuにHaskellのプログラムをリリースする。

Posted on January 12, 2016
Tags: haskell, stack, heroku

Haskellのプログラムをherokuにリリースしようとして、調べていたところ、dockerを使ってリリースする方法が見つかったのですが、なんだかんだでうまく行かず、一旦断念。それはリベンジすることにして、buildpackのstack版が見つかったので、それを使って、リリースをしてみました。

準備するものは、通常のstackのプログラム一式と、herokuでの起動プログラムを指定するProcfileです。

buildpackでデプロイすると、起動プログラムはパスの通っている /app/.local/bin にコピーされるので、Procfileでファイルパスの指定は不要です。

web: <起動プログラム名>

ソースが準備出来たら、以下の要領で、herokuアプリを作成します。

heroku create <アプリ名> --buildpack https://github.com/mfine/heroku-buildpack-stack.git

herokuにpushすると、1回目は依存パッケージを含めたbuildが始まります。2回目以降は、インストール済みのパッケージが使えるので、buildの時間はかなり短縮されます。

git push heroku master

今回作ったレポジトリはこちらです。

submit to reddit このエントリーをはてなブックマークに追加