Springboot) application.yml 환경마다 다르게 사용하기

60jong·2023년 1월 27일
0

Spring

목록 보기
3/9
post-thumbnail
post-custom-banner

여러 개의 applicaion.yml

개발을 하다보면 개발 옵션을 적용할 수 있는 applicaion.yml을 사용하게 되는데, 배포 환경에 따라 다르게 적용할 필요를 느낄 때가 있다.

Develop 환경 / Release 환경 / Test 환경 등에서는 DB, server port 등이 다르게 쓰이는 경우에 Build시에 매번 applicaion.yml을 수정하기에는 번거롭고 실수를 할 가능성이 있다.

(수정하기에는 번거롭고 실수를 할 가능성이 있다. 이 말은 개발을 할 때 새로운 방법을 찾게하는 이유인 것 같다.)

환경마다 다른 application.yml (Deprecated)

applicaion.yml

spring:
	profiles:
    	active: xxxx # local / develop / release / test 등 원하는 환경으로 변경하면 된다.

applicaion-local.yml

spring:
	profiles: local
    
    ~~~

applicaion-develop.yml

spring:
	profiles: develop
    
    ~~~

applicaion-release.yml

spring:
	profiles: release
    
    ~~~

위와 같이 applicaion.ymlactive 옵션을 환경에 맞게 바꾸면서 빌드하면 된다. 하지만, Springboot 2.7.6 버전 기준, Deprecated 된 방식이다. 찾아보니 Springboot 2.4 버전 이후로 바뀌었다.

환경마다 다른 application.yml (Revised)

개정된 방식은

applicaion-develop.yml

spring:
	profiles:
    	active:
        	on-profile: develop

이렇게 특정 환경에 맞는 yml의 옵션 계층을 수정하면 된다.

개발 환경에서 확인

applicaion.yml에 active 옵션에 따라 다른 profile이 적용됨을 확인할 수 있다.

참고

https://baeji77.github.io/spring/dev/Java-application-yaml/
https://kor.pngtree.com/freepng/yaml-file-document-icon_4177017.html

profile
울릉도에 별장 짓고 싶다
post-custom-banner

0개의 댓글