Play framework 2.0 RC2 を heroku で試してみた
scalaで利用できるWEBフレームワークで、なにかないかと思い探してみた
丁度、Play frameworkの新しいものがリリースされそうだったので試してみた
環境
- Scientific Linux release 6.0 (Carbon)
- Java(TM) SE 1.6.0_24-b07
- Scala code runner version 2.9.1.final
Play framework 2.0 RC2のインストール
事前に、Java SDK と Scala の実行環境を作成しておく
play-2.0-RC2.zipをダウンロードする
play-2.0-RC2.zipを取得し、展開する
wget http://download.playframework.org/releases/play-2.0-RC2.zip unzip play-2.0-RC2.zip
.bash_profileにplay-2.0のホームを設定する
vi .bash_profile export PLAY_HOME=/home/user/play-2.0-RC2 export PATH=$PATH:$PLAY_HOME source .bash_profile
Playの環境ができているかコンソールから確認をしてみる*1
$ play help _ _ _ __ | | __ _ _ _| |
'_ \ | / _' | _ | ||||
__/ | _ | \____ | \__ (_) | |||
_ | __/ |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
試しにサンプルプロジェクトを作成してみる
「play new」コマンドでサンプルプロジェクトを作成してみた
$ play new play20_rc2sample Getting net.java.dev.jna jna 3.2.3 ...
- retrieving :: org.scala-tools.sbt#boot-app
- retrieving :: org.scala-tools.sbt#boot-app
'_ \ | / _' | _ | ||||
__/ | _ | \____ | \__ (_) | |||
_ | __/ |
サンプルプロジェクトのアプリケーションを実行してみる
サンプルプロジェクトのディレクトリ直下で、sbtを「play」コマンドで実行する
その後、「run」コマンドでアプリケーションを起動する
$cd play20_rc2sample $play Getting org.scala-tools.sbt sbt_2.9.1 0.11.2 ...
- retrieving :: org.scala-tools.sbt#boot-app
'_ \ | / _' | _ | ||||
__/ | _ | \____ | \__ (_) | |||
_ | __/ |
http://ip address:9000/ などにアクセスしてみると「Welcome to Play 2.0」というトップページが確認できる
herokuで実行してみる
herokuに作成したサンプルアプリケーションをデプロイし、実行してみます
環境
- gemかなにかでherokuコマンドが利用できるようにしておく
$ heroku version heroku-gem/2.20.1
herokuにデプロイする
Procfileファイルを作成する
詳しくは、About the Celadon Cedar Stackをどうぞ
cd /home/user/play20_rc2sample vi Procfile web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyEvolutions.default=true
project/plugins.sbtに「xsbt-start-script-plugin」というプラグインを追加する
cd /home/user/play20_rc2sample vi ./project/plugins.sbt addSbtPlugin("com.typesafe.startscript" % "xsbt-start-script-plugin" % "0.5.0")
herokuに登録するために、ローカルのgitに登録を行う
git init Initialized empty Git repository in /home/user/play20_rc2sample/.git/ git add . git commit -m "init"
Cedar Stack でアプリケーションを作成する
その後、プロセスを起動する
heroku create --stack cedar heroku scale web=1
gitからherokuへデプロイを行う
git push heroku master
-
-
-
-
- > Discovering process types
-
-
-
-
-
-
-
- > Compiled slug size is 79.4MB
- > Launching... done, v5
-
-
-
herokuコマンドで動作確認をする
「heroku ps」で該当プロセスが存在しているか確認する
「heroku logs」で実行アプリケーションにエラーがないか確認する
$ heroku ps Process State Command
------- ---------- ------------------------------------ |
http://xxxx-xxxx-xxx.herokuapp.com/にアクセスし、サンプルページがみえるか確認をする。
課題
herokuで実行した際に、「./app/views/main.scala.html」から読み込まれている「./app/views/index.scala.html」が
うまく読み込まれていないようだった。時間がある時に調整してみる
*1: playのロゴが崩れていますが気にしないで下さい。