▼ Backend/스프링 (Spring)

Spring Boot | application.properties(yml) 환경에 맞게 분리하기

Valar 2022. 5. 13. 17:30
반응형

📌 구성환경

Mac OS, IntelliJ Community, Gradle, Jar

 

기존에 스프링 부트 프로젝트 생성 시 존재하는 application.properties(yml)default로 지정되는 설정 파일로 추가로 생성하여 환경에 맞게 분리 및 지정하여 배포할 수 있다.

이렇게 배포하면 MSA(MicroService)에 사용되는 Config Server에서도 유연하게 사용이 가능하다.

 

application.yml 파일을 복사해서 아래 이미지처럼 local, dev, prod으로 이름을 변경해 추가한다.

local: 현재 사용하는 로컬 환경
dev: 운영서버에 올라가기 전 테스트를 하기 위한 개발서버 환경
prod: 실제 사용자가 사용하는 운영 서버 환경

 

각 환경에 맞게 프로퍼티 파일을 분리했다면 준비는 끝났고 이제 서버 실행 시 profile 설정 또는 VM options만 추가해주면 된다. 인텔리제이 커뮤니티 버전을 사용하고 있어서 JAR Application을  생성하여 실행해본다.

 

*얼티메이트 버전의 경우는 밑에 있는 ☞ 얼티메이트 버전의 경우 부분을 확인한다.

 

우측 상단 Open Edit Run/Dev  →  Edit Configurations...

 

 

Add new Configurations에서 JAR Appllication을 선택한다.

 

 

Jar, VM options, Working directory 설정

jar의 경로, VM options, Working directory를 설정한다.

Path to JAR: 실행할 프로젝트의 jar파일을 선택한다.
VM options: VM의 동작 방식 및 시스템 속성을 설정하는 곳으로 여기서 우리가 사용할 프로퍼티를 설정할 수 있다.
Working directory: 프로젝트 경로

*VM options에서 사용
-Dspring.profiles.active=local
-Dspring.profiles.active=dev
-Dspring.profiles.active=prod

생략할 경우 default로 application.properties(yml)를 바라본다.

 

설정이 완료되었으면 생성한 애플리케이션을 실행한다.

 

실행 로그에서 설정한 profile를 확인할 수 있다.

 

 


얼티메이트 버전의 경우

얼티메이트 버전의 경우에는 스프링 부트 애플리케이션 실행 설정에서 Active profiles에 입력하면 된다.

 

반응형