[Spring] yml 개발 환경에 따라 분리하기

kshired·2021년 8월 16일
0
post-thumbnail

Spring yml

Spring에서 application.yml 혹은 application.properties 파일은 설정과 관련된 환경변수를 관리하기 위한 파일입니다.

당연하게도, 개발 환경에 따라 환경 변수는 달라지기 때문에 그것을 구분지어 사용할 수 있다면 편리할텐데요.. 이것을 어떻게 할 수 있을까요?

yml 파일 생성

resources 폴더 내부에 아래와 같이 네 개의 yml파일을 생성합니다.

  • application.yml
  • application-dev.yml ( 개발 서버 )
  • application-prod.yml ( 운영 서버 )
  • application-local.yml ( 로컬 )

application.yml에 개발환경을 분리하여 설정

# application.yml
---
spring:
  profiles:
    active: prod

---
spring:
  profiles:
    active: dev

---
spring:
  profiles:
    active: local

위와 같이, application.yml에 설정을하고 실행을 할 때 spring.profiles.active에 알맞는 값을 주게되면 Spring이 그 값을 인식하여 적절한 yml을 가져와서 실행하게 됩니다.

yml 사용하기

build

./gradle build 

실행

java -jar -Dspring.profiles.active=dev *.jar

위와 같이 JVM 옵션을 통해 어떤 yml을 사용할지 실행시에 명시를하면 됩니다.

따로 active 변수를 설정하지 않게 되면, application.yml 제일 아래에 있는 spring.profiles.active를 가져오게 되는 것 같습니다.

profile
글 쓰는 개발자

0개의 댓글