Skip to content
shunter1112 edited this page Sep 13, 2013 · 1 revision
この記事はJavaパッケージ用のHerokuエンタープライズにおけるアプリケーションにのみ適応されます。

Gitでのデプロイに加えて、HerokuはEclipseコマンドラインの両方からWarファイルとしてのJavaのウェブアプリケーションのデプロイをサポートしています。これらの方法でデプロイした場合、WARファイルは自動的にTomcat 7 のウェブアプリケーションコンテナに置かれ、Herokuアプリケーションとしてデプロイされます。WARのデプロイはGitのデプロイ同様、slugサイズの制限を受けます。

##Eclipse

設定

Getting Started with Heroku and Eclipseを確認し、Eclopse用のHerokuプラグインをインストールし設定してください。

使い方

  1. デプロイするためのWARファイルを作成してください。WARファイルを生成するならどんな方法も使えます。Maven, Antを使用したり、またはEclipseから直接書き出す事もできます。必要な事は、WARファイルが標準的なJavaウェブアプリケーションであり、標準的なWebアプリケーションの構造や習慣に従っていることだけです。Eclipseでは、WARファイルを生成するために一般的に2つの方法があり、プロジェクトのタイプによって変わってきます :

    • 動的なWebプロジェクト: プロジェクトを右クリック | Export | WAR File. 書き出す場所の入力が求められます。

    • Maven WAR プロジェクト: プロジェクトを右クリック | Maven build... | Goals: package | Run. WARファイルはプロジェクトのtargetディレクトリに作成されます。

  2. My Heroku Apps画面の中の対象のアプリケーションを右クリックします。

  3. Deploy... をクリックします。 Deploy context menu

  4. ステップ1で作ったWARファイルを選んでデプロイします。 Selecting deployment artifact

  5. WARファイルはアップロードされ、Herokuへデプロイされます。 Deployment in progress

コマンドライン

設定

  1. Heroku Toolbeltをインストールします。

  2. heroku-deployコマンドラインプラグインをインストールします。

     :::term
     $ heroku plugins:install https://github.com/heroku/heroku-deploy
    

使い方

  1. デプロイするためのWARファイルを作成してください。WARファイルを生成するならどんな方法も使えます。Maven, Antを使用したり、またはあなたの統合開発環境からシンプルにWARファイルから直接書き出す事もできます。必要な事は、WARファイルが標準的なJavaウェブアプリケーションであり、標準的なWebアプリケーションの構造や習慣に従っていることだけです。たとえば、もしアプリケーションがwarパッケージのMavenのプロジェクトであれば、mvn packagetargetディレクトリ内にWARファイルを生成してくれます。

  2. 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 ドキュメント と どのオプションが利用可能であるかについての詳細なパラメータ名について確認してみてください。

Clone this wiki locally