[Spring] yml 파일를 통한 환경분리
환경분리 필요성
프로젝트를 진행하면서 개발, 운영, 로컬 환경으로 분리할 필요가 있었습니다. 로컬에서는 혼자 실행해보며 확인하기 위해 mariadb에 데이터베이스를 만들고 ddl-auto: create-drop 으로 테이블이 자동으로 생성되고 제거하도록 하여 간단하게 실행해볼수 있게 했습니다. 하지만 ec2 에 올렸을때는 rds 를 이용하고 ddl-auto: none 으로 해야했습니다.
설정
application.yml
spring:
profiles:
active: local
공통 설정...
---
spring:
config:
activate:
on-profile: local
---
spring:
config:
activate:
on-profile: dev
---
spring:
config:
activate:
on-profile: prod
application-local.yml (로컬 환경)
application-dev.yml (개발 환경)
application-prod.yml (운영 환경)
application.yml 에서 프로젝트 전체의 공통 설정을 작성하고 각 환경마다 설정을 분리했습니다. 또한 아래처럼 작성하여 기본 실행은 application-local.yml 으로 돌아가도록 했습니다.
spring:
profiles:
active: local
ec2 에 올렸을때는 local 로 돌아가면 안되기에 아래와 같이 실행합니다. dev 자리에 prod 나 다른 내용을 작성해서 선택하시면 됩니다.
java -jar -Dspring.profiles.active=dev [jar파일]
댓글남기기