Skip to content
shunter1112 edited this page Sep 14, 2013 · 2 revisions

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

ビルド時の振る舞い

Play 1.2.x

アプリケーションのビルドの段階では、以下のコマンドが実行されます :

:::term
play dependencies --forProd --forceCopy --silent
play precompile --silent

Play 2.x

Play 2.x では、アプリケーションをビルドするために裏でSBTを使用します。HerokuのSBTはアプリケーションをビルドするために直接呼び出されます :

:::term
sbt clean compile stage

ローカルのIvyレポジトリはパフォーマンス向上のためにビルドの中でキャッシュされます。

環境

以下の環境変数が、最初のプッシュ時にセットされます :

Play 1.2.x

  • 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

Play 2.x

  • 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

Runtime behavior

Herokuは現在OpenJDKをアプリケーションの実行のために使っています。OpenJDKのバージョン6と7はsystem.propertiesを使う事で利用可能です。OpenJDKの8はアーリープレビュー版として利用可能です。更なる情報のために、Javaのチュートリアルを確認してください。

Play 1.2.x

デフォルトのwebプロセスの定義は以下の通りです :

web: play run --http.port=\$PORT \$PLAY_OPTS

Play 2.x

開始スクリプトはxbst-start-script-pluginによって生成されます。この開始スクリプトはデフォルトのwebプロセスの定義で使われます :

web: target/start -Dhttp.port=$PORT $JAVA_OPTS

サポートしているバージョン

Play 1.2.x

  • 1.2.3
  • 1.2.4
  • 1.2.5rc3
  • 1.2.5
  • 1.2.6

Play 2.x

Play 2.x はSBTの依存ファイルが適合するかに依存するため、それらがリリースされれば全てのバージョンを利用することができます。

アドオン

Playフレームワークアプリケーション向けに、Postgresデータベースが自動で配備されます。これは、DATABASE_URLを生成します。

Clone this wiki locally