-
Notifications
You must be signed in to change notification settings - Fork 9
War deployment
Gitでのデプロイに加えて、HerokuはEclipseかコマンドラインの両方からWarファイルとしてのJavaのウェブアプリケーションのデプロイをサポートしています。これらの方法でデプロイした場合、WARファイルは自動的にTomcat 7 のウェブアプリケーションコンテナに置かれ、Herokuアプリケーションとしてデプロイされます。WARのデプロイはGitのデプロイ同様、slugサイズの制限を受けます。
##Eclipse
Getting Started with Heroku and Eclipseを確認し、Eclopse用のHerokuプラグインをインストールし設定してください。
-
デプロイするためのWARファイルを作成してください。WARファイルを生成するならどんな方法も使えます。Maven, Antを使用したり、またはEclipseから直接書き出す事もできます。必要な事は、WARファイルが標準的なJavaウェブアプリケーションであり、標準的なWebアプリケーションの構造や習慣に従っていることだけです。Eclipseでは、WARファイルを生成するために一般的に2つの方法があり、プロジェクトのタイプによって変わってきます :
-
動的なWebプロジェクト: プロジェクトを右クリック | Export | WAR File. 書き出す場所の入力が求められます。
-
Maven WAR プロジェクト: プロジェクトを右クリック | Maven build... | Goals:
package
| Run. WARファイルはプロジェクトのtarget
ディレクトリに作成されます。
-
-
My Heroku Apps画面の中の対象のアプリケーションを右クリックします。
-
Deploy... をクリックします。
-
ステップ1で作ったWARファイルを選んでデプロイします。
-
WARファイルはアップロードされ、Herokuへデプロイされます。
-
Heroku Toolbeltをインストールします。
-
heroku-deploy
コマンドラインプラグインをインストールします。:::term $ heroku plugins:install https://github.com/heroku/heroku-deploy
-
デプロイするためのWARファイルを作成してください。WARファイルを生成するならどんな方法も使えます。Maven, Antを使用したり、またはあなたの統合開発環境からシンプルにWARファイルから直接書き出す事もできます。必要な事は、WARファイルが標準的なJavaウェブアプリケーションであり、標準的なWebアプリケーションの構造や習慣に従っていることだけです。たとえば、もしアプリケーションが
war
パッケージのMavenのプロジェクトであれば、mvn package
がtarget
ディレクトリ内にWARファイルを生成してくれます。 -
WARファイルのデプロイ
:::term $ heroku deploy:war --war <path_to_war_file> --app <app_name>
もしあなたがアプリケーションディレクトリ内にいる場合、--app
は省略可能です :
:::term
$ heroku deploy:war --war <path_to_war_file>
WARファイルはあなたのアプリケーションをTomcat7と共にデプロイされる時にWebapp Runnerを使用します。Webapp Runner はセッション管理などの進んだオプションが設定されるようにします。デプロイされたWARファイルの為にWebapp Runnerを設定するため、あなたのアプリケーションのWEBAPP_RUNNER_OPTS
設定変数の値を設定してください。すると起動時にWebappRunnerへと渡されます。例えば、Memcachedのセッションストアの設定をするために、WEBAPP_RUNNER_OPTS
に--session-store memcache
を設定します。
Eclipseの中では、設定変数はMy Heroku Application | App Info | Environment Variables でアプリケーション名を右クリックすると設定する事が出来ます。
コマンドラインでは、以下を実行してください :
:::term
$ heroku config:set WEBAPP_RUNNER_OPTS="--session-store memcache"
Webapp Runner ドキュメント と どのオプションが利用可能であるかについての詳細なパラメータ名について確認してみてください。