ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring profile 적용
    Tech/SpringBoot 2017. 6. 9. 12:25
    반응형


    스프링을 사용하여 개발 할 경우 개발/테스트/운영 까지 단계에서 환경 설정들이 각각 다를 수 있다.

    그중의 한 예로 데이터베이스를 들수 있다.

    개발 디비 ,운영디비 ,테스트 디비 들의 정보들을 하나의 프로퍼티로 관리하다보면 많은 반복 작업이 있을 수 있다.

    이러한 문제점들을 각 환경에 맞는 프로파일설정을 통하여 해결 하도록 한다.(완전한 해결책은 아님)

    개발 환경은 intelliJ를 사용한다는 가정

    아래 와 같이 패키지 안에 각각 디플로이 디렉토리를 생성하고 각각의 환경에 맞는 프로퍼티 설정을 해준다.



    메이븐 설정파일인 pom.xml 에서 아래 와 같이 각 환경 설정 프로퍼티 파일을 추가 해준다.

    <profiles>
    <profile>
    <id>dev</id>
    <properties>
    <deployment>dev</deployment>
    </properties>
    </profile>
    <profile>
    <id>local</id>
    <properties>
    <deployment>local</deployment>
    </properties>
    </profile>
    <profile>
    <id>test</id>
    <properties>
    <deployment>test</deployment>
    </properties>
    </profile>
    <profile>
    <id>op</id>
    <properties>
    <deployment>op</deployment>
    </properties>
    </profile>
    </profiles>

    각 프로파일 설정들은 디플로이먼트에 있는 설정 파일들과 일치하도록 해준다.

    해당 프로파일들의패스를 인식 할 수있도록 pom.xml에 아래와같이 설정 해준다.



    개발 환경에서 사용할 경우 IntelliJ 에서 아래와 같이 사용 할 수있다.

    현재 로컬 환경에서의 프로퍼티 설정을 선택 한 후 해당 환경 설정을 사용하도록 한다.

    * 만약 프로파일 설정이 동일할 경우에는 ~/.m2/setting.xml 파일에 프로파일을 설정하게 되면 프로젝트를 생성할때마다 귀찮게 프로파일을 설정 할 필요가 없다.


    사용법

    로컬 사용법:

    Maven Projects -> Profiles -> 사용하려는 프로파일 체크

    로컬에서 터미널 을 사용시 

    빌드 -> mvn clean install -P { local /dev / op / test }

    배포 환경:

    gitlab + jenkins 를 사용하는 환경 이므로 아래와 같이 빌드를 적용한다.

    (jenkins 에는 maven 이 설치 되었다고 가정)

    clean install -P { local / dev / op / test }











    반응형

    'Tech > SpringBoot' 카테고리의 다른 글

    Spirng Vaadin Helloworld  (0) 2017.06.21
    PersistentObjectException: detached entity passed to persist  (0) 2017.06.15
    Java8 Stream 사용  (0) 2017.05.24
    Java8 stream - list compare  (0) 2017.03.27
    java8-stream  (0) 2016.10.13
Designed by Tistory.