-
Notifications
You must be signed in to change notification settings - Fork 9
Play support
HerokuのCedarスタックは、Playフレームワークの1.2.x, 2.0.x, そして2.1.xのアプリケーションをサポートしています。
このドキュメントはPlayフレームワークアプリケーションの検知と実行に関係する、Cedarスタックの一般的な振る舞いについて説明します。JavaとScalaのどちらで書かれたPlayフレームワークアプリケーションでもHeroku上で動かす事が出来ます。
フレームワークの具体的なチュートリアルは以下を訪問してください :
また、java.heroku.comにて、あなたのHerokuアカウントへ直接クローンできるPlayフレームワークのテンプレートとなるアプリケーションを用意しています。
HerokuのPlayフレームワークのサポートはmodulesディレクトリ以外のどこかのディレクトリで*/conf/application.conf
にマッチするアプリケーションに適応されます。
デプロイされたアプリケーションがPlayアプリケーションと認識された際、HerokuはPlay 1.2.xアプリケーションに対しては -----> Play! app detected
と、Play 2.0.xのJavaアプリケーションに対しては-----> Play 2.0 - Java app detected
と、そしてPlay 2.0.xのScalaアプリケーションに対しては-----> Play 2.0 - Scala app detected
と表示します。 Play 2.0.x の言語の検知についてはファイル数に基づいており、情報としての目的のみで使われます。
:::term
$ git push heroku master
-----> Play! app detected
アプリケーションのビルドの段階では、以下のコマンドが実行されます :
:::term
play dependencies --forProd --forceCopy --silent
play precompile --silent
Play 2.x では、アプリケーションをビルドするために裏でSBTを使用します。HerokuのSBTはアプリケーションをビルドするために直接呼び出されます :
:::term
sbt clean compile stage
ローカルのIvyレポジトリはパフォーマンス向上のためにビルドの中でキャッシュされます。
以下の環境変数が、最初のプッシュ時にセットされます :
-
PATH
: .play:.tools:/usr/local/bin:/usr/bin:/bin -
JAVA_OPTS
: -Xmx384m -Xss512k -XX:+UseCompressedOops -
PLAY_OPTS
: --%prod -Dprecompiled=true -
PORT
: WebプロセスがバインドされるHTTPポート -
DATABASE_URL
: データベースの接続用のURL
-
PATH
: .sbt_home/bin:/usr/local/bin:/usr/bin:/bin -
JAVA_OPTS
: -Xmx384m -Xss512k -XX:+UseCompressedOops -
SBT_OPTS
: -Xmx384m -Xss512k -XX:+UseCompressedOops -
REPO
: /app/.sbt_home/.ivy2/cache -
DATABASE_URL
: データベースの接続用のURL
Herokuは現在OpenJDKをアプリケーションの実行のために使っています。OpenJDKのバージョン6と7はsystem.properties
を使う事で利用可能です。OpenJDKの8はアーリープレビュー版として利用可能です。更なる情報のために、Javaのチュートリアルを確認してください。
デフォルトのweb
プロセスの定義は以下の通りです :
web: play run --http.port=\$PORT \$PLAY_OPTS
開始スクリプトはxbst-start-script-pluginによって生成されます。この開始スクリプトはデフォルトのweb
プロセスの定義で使われます :
web: target/start -Dhttp.port=$PORT $JAVA_OPTS
- 1.2.3
- 1.2.4
- 1.2.5rc3
- 1.2.5
- 1.2.6
Play 2.x はSBTの依存ファイルが適合するかに依存するため、それらがリリースされれば全てのバージョンを利用することができます。
Playフレームワークアプリケーション向けに、Postgresデータベースが自動で配備されます。これは、DATABASE_URLを生成します。