目的
Spring Bootの公式ドキュメントを見ていると、 "If your application runs in Cloud Foundry or Heroku" のように、アプリケーションの実行環境を判定している記述があるので、判定方法を調べました
結論
CloudPlatform
が環境変数の有無で判定していました。
Spring Boot 2.3.xの場合
https://github.com/spring-projects/spring-boot/blob/2.3.x/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/cloud/CloudPlatform.java
- Cloud Foundry, Heroku, SAP, K8s が検知対象
- NONEを指定すると特に検知しないことも可能
-
application.properties
でspring.main.cloud-platform
を指定すれば、強制的に実行環境を指定可能
でした。
Spring Bootのバージョンによって CloudPlatform
の判定内容は異なるので、お使いのバージョンに沿ったソースを参照してみてください。