최대 1 분 소요

환경분리 필요성

프로젝트를 진행하면서 개발, 운영, 로컬 환경으로 분리할 필요가 있었습니다. 로컬에서는 혼자 실행해보며 확인하기 위해 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파일]

댓글남기기