AWS Elastic Beanstalk上にPlay Frameworkのアプリをデプロイする方法として、WARのアーカイブをデプロイする方法があります。ただし、Playは公式にはWARアーカイブをサポートしていないため、サードパーティのプラグインplay2-war-pluginを利用します。
前提
- Play Frameworkのバージョン: 2.3.4 (2015年11月1日当時の最新)
設定
詳細は以下を参照。
https://github.com/play2war/play2-war-plugin/wiki/Configuration
plugin.sbt
APP_HOME/project/plugins.sbt にプラグイン設定を追加する。
(注)プラグインのバージョンはPlay Frameworkのバージョンによって変わります。
addSbtPlugin("com.github.play2war" % "play2-war-plugin" % "1.4-beta1")
build.sbt
APP_HOME/build.sbt の version 以下に設定を追記する。
(注)Tomcat 8にデプロイ予定のため、サーブレットのバージョンは3.1にしている。
version := "1.0-SNAPSHOT"
import com.github.play2war.plugin._
Play2WarPlugin.play2WarSettings
Play2WarKeys.servletVersion := "3.1"
ビルド
以下のコマンドを実行するとwarファイルが作成される。
activator war
デプロイ
作成されたwarファイルを Elastic Beanstalkにデプロイする。プラットフォームはTomcatを指定すること。