Play2 Scala で heroku にデプロイしてみる

今更ながら、 Scala 熱を上げて行きたいということで Play framework 2 を heroku にデプロイしてみた。 IntelliJ IDEA12 Ultimate を使用している。 Scala, Play のプラグインをインストール済み。

heroku, Scala をインストール

Mac, homebrew 前提で。 Java 1.7.0_21 をインストール済み。

$ brew update
$ brew install play scala

Play プロジェクトを作成

以下の様に作成してみる。

f:id:kaz_shu:20130602225655p:plain

「Play 2 Home」 は install したディレクトリを指定。

Heroku にデプロイするための設定ファイルを作成

以下の2つのファイルをルートディレクトリに作成する。

heroku でデプロイするには、Procfile というファイルを作成して以下を記載しておく。

web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS}

公式サイトにあるやつだと起動できなかった…。

あと、 Java 7 を使用する際には system.properties というファイルを作成して以下を記載。 デフォルトは Java 6 である。

java.runtime.version=1.7

コミットしてデプロイ

後は Rails アプリとか同じように push していく。

$ git init
$ git add .
$ git commit -m "initial commit"
$ heroku login
$ heroku create [app name] # 現在は --stack cedar を入れなくてもデフォルトで cedar になる。
$ git push heroku master

※ [app name] はオプション扱いなので入力しなかったら適当な名前で作られる。

最初は結構時間がかかるが、無事成功したら

$ heroku ps
=== web (1X): `target/start -Dhttp.port=${PORT} ${JAVA_OPTS}`
web.1: up 2013/06/02 22:46:58 (~ 1m ago)

無事成功していることを確認。

$ heroku open

ブラウザで確認。

intelliJ ほとんど関係なかった…。play new してないバージョンということで。 次は簡単なCRUDアプリを作ってみようと思う。