스프링에서 환경을 분리하는 방법

프로젝트를 local에서만 개발하는게 아니라면, 그리고 develop 이나 staging, production 을 구분해서 개발하게 된다면 필연적으로 서로 다른 설정값이 필요하게 된다. local 에서는 테스트 용도이므로 H2 의 in-memory DB 를 사용할 수 있지만, production 환경에서는 반드시 안정적인 밴더사의 RDBMS와 인스턴스를 사용하게 된다. 가령, local에서 개발을 마치고, 이제 production 에서 코드를 가져와 실행하려면 당연히 datasource 를 바꿔주어야 한다. # as-is (local) spring: datasource: url: jdbc:h2:mem:testdb;MODE=MYSQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE username: sa # to-be (production, or develop ...) spring: datasource: url: jdbc:h2:192....

August 13, 2022 · 4 min · cjlee38