LoginSignup
20
24

More than 5 years have passed since last update.

Spring Bootで環境ごとに設定をわける方法

Last updated at Posted at 2017-12-07

このドキュメントについて

  • Spring Bootで本番環境と開発環境で設定どうやってわけるねんってなったので、調べたときのメモ
  • Cloud Foundry使ってるのでそこでのやり方も記載する

先にまとめ

  • 環境ごとにapplication-環境名.ymlみたいなファイルをつくる
  • 環境変数か起動時のオプションで変更する
  • Cloud Foundryでやる場合はenvに設定すれば切り替えてくれる

application.ymlを環境ごとにつくる

  • ここでは、APIのURIをapplication.ymlで設定しているケースを想定している
  • 下記のそれぞれをresources配下に設置する(ちなみに名前はなんでもいい)

application-staging.yml

api:
  hostname: http://staging.example.com
  path: /v1/hello

application-production.yml


api:
  hostname: http://production.example.com
  path: /v1/hello

起動時の引数で環境を指定する

起動に下記のオプションを指定する

$ java -jar -Dspring.profiles.active=production 起動したいjarファイル

環境変数で環境を指定する

実行したい環境で下記コマンドで環境変数を指定する

$ export spring_profiles_active=production

Cloud Foundryの場合、manifest.ymlで環境を指定する

manifest.ymlに下記を指定する

applications:
- name: application-name
  ...
  env:
    SPRING_PROFILES_ACTIVE: production

参考資料

20
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
24