jvm언어관련/Spring(SpringBoot)
springboot maven profiles 설정
055055
2019. 5. 1. 20:44
반응형
springboot에서 개발시 local, staging, production으로 나눠서 개발환경을 구성해야 하는 경우가 있습니다.
그럴 때 maven에서 줄 수 있는 설정입니다.
<build>
<resources>
<resource>
<directory>src/main/resources/deployment/${deployment}</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
<finalName>springbootTest</finalName>
</build>
<profiles>
<profile>
<id>production</id>
<properties>
<deployment>production</deployment>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
<profile>
<id>staging</id>
<properties>
<deployment>staging</deployment>
</properties>
</profile>
<profile>
<id>local</id>
<properties>
<deployment>local</deployment>
</properties>
</profile>
</profiles>
먼저 profiles 부터 살펴보면
저는 local, staging, production 3가지로 환경을 나눠서 구성 했습니다.
각 profile 마다 deployment라는 변수에 각 환경 이름을 지정해놨습니다.
그리고 <directory>src/main/resources</directory>는 기본적으로 설정해야 하는 부분이고
선택된 profile의 resource가 classpath에 들어가도록 <directory>src/main/resources/deployment/${deployment}</directory>
를 추가 합니다.
실제 나뉘어진 loca, staging, production 디렉토리 구성입니다.
개발환경에 따른 환경설정을 알맞게 설정해주면 됩니다.
실제 배포시, 알맞은 환경을 선택하여 build 해주면 됩니다.
반응형