Spring 프로젝트 시작하기 - 프로파일 설정편

개발을 하다보면 배포환경을 나누어야할 때가 있다.

local - develop - qa - stage - prod등으로 나뉜다.

 

local : 단일 개발서버, 본인의 PC에서 개발 및 테스트를 위한 단계이다. 

develop : 개발 단계서버, front, back-end, module등의 분업 프로젝트가 1차적으로 모이는 곳으로, 조율중 배포 싱크에 따라서 오류가 존재할 수도 있다. 물론 각자 오류를 방치하지 않고 인지 및 조치가 이루어져야 한다.
qa :품질 보증 테스트서버, dev 서버에서 정상동작이 끝난 코드만 배포되어야한다. 
stage :실제 환경과 유사한 테스트서버. pord와 거의 동일한 환경에서 동일하게 동작될 수 있어야 한다.
prod :실제 서비스 환경, 고객에게 실제로 제공되는 서버

 

나는 우선 dev / stage만 나누어서 셋팅해보려고 한다.

 

 

1. resource 하위에 yml 파일을 나눠서 작성한다.

 

2. application.yml 파일에 사용할 환경을 기입한다.

spring.profiles.active에는 기본으로 사용할 환경을 적어주었다.(develop)

spring:
  profiles:
    active: develop
---
## develop profile
## application-develop.yml
spring:
  config:
    activate:
      on-profile: develop

---
## stage profile
## application-stage.yml
spring:
  config:
    activate:
      on-profile: stage

 

3. 환경 이름으로 작성된 파일에 기존셋팅을 입력한다.

나의 경우에는 DB연결을 dev/stage로 분리했다.

spring:
  application:
    name: stock
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/dev_cms // 연결부분을 변경
    username: root
    password: onlyroot

 

4. 실행

실행을 시키면 spring - profiles - active 에 기입된 환경으로 프로젝트가 실행된다.

 

 

Intellj 실행환경 변경

intellij의 경우에는 아래 옵션으로 환경도 설정할 수 있다.

이 설정은 spring.profiles.active에 설정했던 설정보다 우선해서 적용된다.