私は、sbtネイティブパッケージャプラグインを使用して、アプリケーションのzipファイルを作成して、弾力のあるbeanstalkにデプロイします。私は自分のbeanstalk環境に環境変数を設定し、それらを実行時にアプリケーションを設定するために使用したいと思います。 $PORT
は、パッケージャによって生成された起動スクリプトによって補間されていないようsbtネイティブパッケージャを使用した環境変数ベースのランタイムコンフィグレーション
web: ./bin/bridgeservice -Dhttp.port=$PORT
これは動作しません:私はそうは次のように私のProcfile中のenv変数を参照しようとしましたしました。
私もそうのように私のbuild.sbt内の変数を定義しようとしましたしました:パッケージャは、配布zipファイルを構築する時にPORT
のenv変数を期待して
import scala.util.Properties
javaOptions in Universal ++= Seq(
"-Dhttp.port=" + Properties.envOrElse("PORT", "9004"),
)
また、これは動作しません。また、 application.iniファイルでデフォルト値の9004をハードコーディングします。
アプリケーション起動時に環境変数に基づいてJavaオプションを動的に渡すことはできますか?
私はこれをUbuntu 16.10でローカルにテストして動作します。補間は、スクリプトではなく、スクリプトを呼び出すシェルで行うべきです。 – Muki
どのメソッドを使用しましたか? – novon
私は 'sbt stage'で[このプロジェクト](https://github.com/muuki88/sbt-native-packager-examples/tree/master/simple-deb)をビルドし、' ./target/universal 'というスクリプトを呼び出しました/ stage/bin/mukis-application-conf -Dexample.greeting = $ PATH'となり、すべてが期待どおりに表示されました – Muki