Heroku CLI を使用した、WAR Deployment の設定
最終更新日 2020年05月04日(月)
Table of Contents
Heroku Java CLI プラグインは、ローカルで生成された WAR ファイルを Heroku にデプロイしますが、さまざまな実行シナリオに合わせて設定できます。ここでは、最もよく使用されているシナリオについて説明します。
ファイルを含める
--includes
オプションを使用して、slug に追加ファイルを含めることができます。たとえば、次のようになります。
$ heroku war:deploy myapp.war --includes newrelic.jar:newrelic.xml
含まれたファイルを区切る文字は、File.pathSeparator のようにプラットフォーム特有です。Windows では ;
(セミコロン) になり、Mac と Linux では :
(コロン) になります。
Tomcat バージョンの設定
--webapp-runner
オプションを使用して、デフォルトの Tomcat Webapp Runner バージョンを上書きできます。たとえば、次のようになります。
$ heroku war:deploy myapp.war --webapp-runner 8.5.50.0
デフォルトバージョンは 9.0.20.0 です。Webapp Runner のバージョンは、基礎となる Tomcat サーバーのバージョンに固定されます。したがって、バージョン 9.0.20.0 の Webapp Runner はバージョン 9.0.20 の Tomcat を使用します。使用可能な Tomcat Webapp Runner バージョンのリストは、Maven Central で入手できます。(古いバージョンは、別の Maven Central リポジトリ)で入手できます)
Tomcat オプションの設定
アプリケーション上で WEBAPP_RUNNER_OPTS 環境設定を設定することにより、サーバーで WAR ファイルをどのように実行するかを設定できます。たとえば、次のようなオプションを設定できます。
$ heroku config:set WEBAPP_RUNNER_OPTS="--uri-encoding=UTF-8"
Heroku デプロイプラグインは、WAR ファイルのコンテナとして Tomcat Webapp Runner を使用します。したがって、すべての Webapp Runner オプションはアプリで利用できます。完全なリストオプションは、Webapp Runner のドキュメントで説明されています。
Java オプションの設定
JAVA_OPTS
環境設定を設定することにより、Tomcat コンテナを実行する、基礎となる JVM も設定できます。たとえば、次のオプションを設定して、スレッドスタックサイズを設定できます。
$ heroku config:set JAVA_OPTS="-Xss512k"
たとえば、Heroku プラットフォームが一連の適切なデフォルトを選択します。
詳細については、「WAR Deployment」を参照してください。