【意訳】Heroku上でPlayFramework + Scalaアプリケーションを実行する
誤訳・誤植等ありましたら、@modal_soulまでリプライいただけるとありがたいです。
ScalaでPlay Frameworkアプリを構築するのが最近流行っているようです。理由としては、これまでのJVMベースのWebアプリよりも簡単に構築、デプロイできることです。ScalaでPlayアプリの構築とHerokuへのデプロイをやってみましょう。
Step1) Play Frameworkをインストールします(バージョン1.2.3以上をインストールしてください)。
Step2) Play Scalaモジュールをインストールします。
Step3) ScalaサポートしたPlayアプリを作成します。
Step4) アプリケーションをスタートします。
Step5) ブラウザでアプリケーションを開きます。
とても簡単ですね。Heroku上にデプロイする前に、カスタムmodel, view, controllerを追加してもう少し味付けしてみましょう。
Step1) app/models/Widget.scalaを新規作成して、以下を記述します。
Step2) app/views/Widget/list.scala.htmlファイルを新規作成して、以下を記述します。
Step3) app/controllers/WidgetController.scalaを新規作成して、以下を記述します。
Step4) 以下のURLを表示して、動きを確認しましょう。
動きましたね。それにサーバーのリロードも不要でした。URLを少しきれいにしましょう。conf/routeファイルを修正して、”Application.index”を”WidgetController.list”へ変更します。
簡単にできましたが、ついでに友達にも見せたいですね。Herokuへデプロイしましょう。
Step1) Linux, MacもしくはWindowsに、Herokuコマンドクライアントをインストールします。
Step2) コマンドラインからHerokuへログインします。
Step3) Herokuは、アプリケーションのデプロイにgitを使うので、.gitignoreファイルを作成して、以下を記述します。
Step4) gitリポジトリを作成して、ファイルを追加し、コミットします。
Step5) Herokuにアプリケーションを新規作成します。
これで、Heroku上に新しいアプリケーションを規定し、アプリケーションへのランダムな名前/のURLを割り当てます。
Step6) アプリケーションをデプロイします。
アプリケーションがアセンブルされ、Heroku上にデプロイされます。
Step7) ブラウザでアプリケーションを開きます。
ジャジャーン!これでPlay + Scala アプリがクラウド上で実行されました。
JavaOneで、これをBill Venners(ScalaTestの作者)に見せたら、scalatest.orgのWebサイト(Play + Scalaのアプリ)をHerokuへ移行してくれました。クール!
何か質問あれば、教えてください。
Latest post:
- OpenWhiskのScala sbtプロジェクトのgiter8テンプレートを作った
- OpenWhisk+Scalaで作るServerless Architectureとっかかり
- BluemixにPlayframeworkアプリケーションをデプロイする
- sbt、Giter8を統合するってよ
- Scala 2.12.0でSAM型