たとえば、ConfigurableEnvironmentやクラウドファウンドリインスタンスのインデックスを使用して、クラウドファウンドリにデプロイされたスプリングブートアプリケーションのすべてのインスタンスに対して、異なるプロファイルをプログラムで設定できますか?クラウドファウンダーでのバーンブートアプリケーションインスタンスごとに異なるプロファイル
答えて
私はあなたがタスクを使用することを検討することをお勧めします。
https://docs.cloudfoundry.org/devguide/using-tasks.html
ここでは、これがどのように動作するかを大まかにです。
cf push
を実行して、アプリケーションをCFにデプロイします。あなたが実際に実行するアプリケーションを持っていない場合、それはOKです。アプリを押して一度起動するだけで、液滴を段階的に作成して作成する必要があります。その後、cf stop
を実行してインスタンスをシャットダウンすることができます(注:少なくとも1回は実行する必要があるため、cf push --no-start
は機能しません)。実行
cf run-task <app> <command>
。ここでバッチジョブを開始します。<command>
引数は、バッチジョブを実行する完全なコマンドになります。ここでは、使用すべきプロファイルを示す引数を付けることができます。例:--spring.profiles.active=dev,hsqldb
。https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html
あなたは、Java buildpackがパス上にそれを置くしないので
java
exceutableへの完全パスまたは相対パスを使用する必要があります。 JVMのバージョンを表示するタスクを実行する場合は、このコマンドを使用します'.java-buildpack/open_jdk_jre/bin/java -version'
。例:
cf run-task <app> '.java-buildpack/open_jdk_jre/bin/java -version'
はあなたのコマンドでJava実行可能ファイルへのパスをハードコーディングの欠点のためにかかわらず、このSO postを参照してください。私の提案は、あなたが
cf push
を実行し、あなたのニーズに変更するときに記載されているコマンドを実行することです。
- 1. プロファイルごとに異なる休止状態のプロパティ
- 2. AndroidのGraphhopperと異なる車両プロファイル
- 3. UIViewControllerのインスタンスごとに異なるURI
- 4. クラスのインスタンスごとに異なるリスト
- 5. NGINXのユーザーエージェントごとに異なるファイル
- 6. observableCollectionのオブジェクトごとに異なるビュー
- 7. ページごとに異なるフォントのスケーリング
- 8. プロジェクトごとにプロファイルを選択
- 9. コレクションビューセルオートレイアウトセルごとに異なる高さ
- 10. ボタンごとに異なるマップマーカー
- 11. Googleマップ:マーカーごとに異なるCustomInfowindow
- 12. ボタンごとに異なる指示
- 13. 異なるファイルごとにカスタムコミットメッセージPhpStorm + GitHub
- 14. ShareKit iOS - プラットフォームごとに異なるコンテンツ
- 15. クリックごとに異なるフォームC#
- 16. Djangoアプリケーションごとに異なるvirtualenv
- 17. モジュールごとに異なるメニュー
- 18. WebRequest.Create()ごとに異なるTCP接続
- 19. Web APIエンドポイントごとに異なるフロー
- 20. ファイルタイプごとに異なる最大ファイルサイズ?
- 21. 入力ごとに異なるSQLクエリ
- 22. UIGraphicsGetCurrentContextごとに異なるsetStrokeカラー
- 23. Laravel - "WhereHas"クエリ:ユーザーごとに異なる
- 24. ハードウェアごとに異なるテキストサイズ
- 25. MVCバージョンごとに異なるNuGet Web.Config.Transforms
- 26. WooCommerce - カテゴリごとに異なる属性
- 27. MongoDB - テナントごとに異なるコレクション
- 28. セルごとに異なるピッカーデータ
- 29. ブラウザごとに異なるレイアウト
- 30. 参加者ごとに異なるリマインダー
これはどのようなケースですか?アプリケーションのインスタンスが別々に機能することは本当に望ましくありません。 CFにプッシュする各アプリケーションは、1つ以上のインスタンスを持つことができ、それらのインスタンスはまったく同じでなければなりません。異なる動作が必要な場合は、複数のアプリケーションをプッシュする必要があります。 –
インスタンスは、プロファイルが2つ以上のバスタブジョブを実行するための設定をロードするために使用されることを除いて、同じ機能を持ちます。 Eatchジョブは自身のインスタンス上で実行されます。 – Moam
クォーツスケジューラをクラスターモードで使用して、すべてのインスタンスにわたって実行を分散する方法はありますか?どのインスタンスがどのジョブを実行しているかをハードコードすると、インスタンスがダウンしたときに問題が発生します。 – NOTtardy