Heroku で Play! をためしてみる
今回は Heroku で Play! を動かすところまでやってみる。
以下を参考にやってみる。以下は scala でためしてるけど今回は素(?)でやる。
Play! のインストール
適当な場所に解凍すればよいみたい。それと play コマンドにパスを通す。
最新版の 1.2.3 を使用した。
$ wget http://download.playframework.org/releases/play-1.2.3.zip $ unzip play-1.2.3.zip && mv play-1.2.3 ~/Library/Java/ $ sudo ln -s ~/Library/Java/play-1.2.3/play /usr/local/bin/play $ play ~ _ _ ~ _ __ | | __ _ _ _| | ~ | '_ \| |/ _' | || |_| ~ | __/|_|\____|\__ (_) ~ |_| |__/ ~ ~ play! 1.2.3, http://www.playframework.org ~ ~ Usage: play cmd [app_path] [--options] ~ ~ with, new Create a new application ~ run Run the application in the current shell ~ help Show play help ~
起動確認OK。
Play! プロジェクトの作成
以下のコマンドで作成。ラクチン。
$ play new heroku_play ~ _ _ ~ _ __ | | __ _ _ _| | ~ | '_ \| |/ _' | || |_| ~ | __/|_|\____|\__ (_) ~ |_| |__/ ~ ~ play! 1.2.3, http://www.playframework.org ~ ~ The new application will be created in /users/daicham/Work/heroku_play ~ What is the application name? [heroku_play] ~ ~ OK, the application is created. ~ Start it with : play run heroku_play ~ Have fun! ~
以下のようなファイルが生成された。Rails そっくり。
$ tree -a heroku_play/ heroku_play/ ├── app │   ├── controllers │   │   └── Application.java │   ├── models │   └── views │   ├── Application │   │   └── index.html │   ├── errors │   │   ├── 404.html │   │   └── 500.html │   └── main.html ├── conf │   ├── application.conf │   ├── dependencies.yml │   ├── messages │   └── routes ├── lib ├── public │   ├── images │   │   └── favicon.png │   ├── javascripts │   │   └── jquery-1.5.2.min.js │   └── stylesheets │   └── main.css └── test ├── Application.test.html ├── ApplicationTest.java ├── BasicTest.java └── data.yml
Play! を動かしてみる
そのまま Play! を起動してみる。
$ cd heroku_play $ play run ~ _ _ ~ _ __ | | __ _ _ _| | ~ | '_ \| |/ _' | || |_| ~ | __/|_|\____|\__ (_) ~ |_| |__/ ~ ~ play! 1.2.3, http://www.playframework.org ~ ~ Ctrl+C to stop ~ Listening for transport dt_socket at address: 8000 18:15:29,026 INFO ~ Starting /heroku_play 18:15:29,962 WARN ~ You're running Play! in DEV mode 18:15:30,109 INFO ~ Listening for HTTP on port 9000 (Waiting a first request to start) ... Debugger failed to attach: handshake failed - connection prematurally closed 18:16:08,016 INFO ~ Application 'heroku_play' is now started ! Debugger failed to attach: handshake failed - connection prematurally closed
http://localhost:9090 にアクセスしてWelcomeページが表示されたのを確認。
どうやらデフォルトは開発モード(DEV mode)らしい。このへんも Rails に似てる。
んー、Debugger failed とでているがよくわからなかったので今回はスルーする。
heroku へデプロイ
これまでどおり、Git にコミットして、heroku の cedar を作成して push する。
.gitignore には以下を追加した。Play!のチュートリアルに書いてあった。
/tmp
/modules
/lib
/test-result
/logs
で、 heroku open で確認してみると、"Your application is ready!" とだけ表示された。ウェルカムページがでないなぁ。
heroku logs でログを確認。すると以下のように起動しているっぽい。
Starting process with command `play run --http.port=49805 --%prod -Dprecompiled=true`
"--%prod" はproduction環境を意味しているのか。そういえば Procfile 作ってないけど動いてるなぁ。まぁいいか。
ローカルでもこのオプションをつけて起動してたら同じメッセージになった。
手順がまずかったわけではないのね。とりあえずそういう挙動をするということにしておく。
まとめ
- Play! はインストールもプロジェクト作成も実行も簡単。イイカンジ。
- heroku へのデプロイはもういい加減なれてきた。
というわけで、ためすほどの内容ではなかったけど一応 heroku で動いた。
Play! 楽しそうなので今度は Play! のチュートリアルをやってみるかな。
-
- -
追記
Getting Started with Play! on Heroku | Heroku Dev Center によると Procfile は準備するように書いてあるのでホントはあったほうがよさそう。