티스토리 뷰
스프링부트 profile과 Maven/Gradle의 profile의 차이
스프링부트의 profile은 runtime시 작동하는 것이고 Maven/Gradle의 profile은 build 시점 동작하는 것입니다.
maven/gradle에서는 profile에 따라 해당 설정 정보를 선별적으로 포함시키고자할 때 이용이 됩니다.
Maven 예제
프로젝트를 생성하고 리소스 디렉토리를 추가합니다. src/main/resources에는 개발/qa/운영과 상관없이 공통적으로 사용되는 것들을 넣습니다. 그외 환경에 따라 달라 지는 것들은 profile로 구분하여 생성합니다.
src/main/resources-[profile]
2. pom.xml 수정
<!-- profile 추가 : dev, qa, release --><profiles><profile><id>dev</id><properties><environment>dev</environment><maven.test.skip>true</maven.test.skip></properties></profile><profile><id>qa</id><properties><environment>qa</environment><maven.test.skip>true</maven.test.skip></properties></profile><profile><id>release</id><properties><environment>release</environment><maven.test.skip>true</maven.test.skip></properties></profile></profiles><!-- build 수정 --><build><sourceDirectory>src/main/java</sourceDirectory><resources><resource><directory>src/main/resources</directory><excludes><exclude>**/*.java</exclude></excludes></resource><resource><directory>src/main/resources-${environment}</directory></resource></resources></build>
3. run maven
clean install -Dmaven.test.skip=true -Pdev
4. 결과 확인
Gradle 예제
1. 리소스 디렉토리 생성 : maven과 동일하게 한다.
2. build.gradle 수정
sourceSets {
if (!project.hasProperty('profile') || !profile) {
ext.profile = 'dev'
}
main {
java {
srcDirs "src/main/java"
}
resources {
srcDirs "src/main/resources", "src/main/resources-${profile}"
}
}
}
3. run gradle : clean build -x test Pprofile=dev
4. 결과 확인
Spring boot profile 예제
1. properties 추가 : application-[profile].properties
2. properties 수정
application.properties
spring.profiles.active=qa
profile을 qa로 설정한다.
application-dev.properties
app.title=eble-dev
application-qa.properties
app.title=eble-qa
application-release.properties
app.title=eble-release
TestController
1
2
3
4
5
6
7
8
9
10
11
12
|
@RestController
public class TestRestController {
@Value("${app.title}")
private String appTitle;
@GetMapping("/test")
public String test() {
return appTitle;
}
}
|
cs |
이렇게 하면 현재 실행하는 profile을 확인 할 수 있다.
실행 결과
eblo-qa
Github 링크
'Spring Frameworks' 카테고리의 다른 글
Spring boot - Object Mapper (0) | 2019.03.04 |
---|---|
Spring boot - Ehcache, cache 예제 (0) | 2019.02.26 |
Spring Boot - 복수 데이터소스 설정하기 (0) | 2019.02.14 |
Spring Boot에서 에러 페이지 처리하기 (3) | 2019.02.14 |
springboot 2.x @PutMapping 값 전달 안되는 에러 처리 (0) | 2019.02.13 |
- Total
- Today
- Yesterday
- 샘플
- 설정
- lombok
- mybatis
- cache
- 스프링부트
- REST
- Spring Boot
- ag grid
- java
- 엑셀
- RESTful
- thymeleaf
- mapToList
- 스프링
- oracle
- Javascript
- SHEETJS
- AG-GRID
- UI
- springboot
- 그리드
- restful서비스
- listToMap
- 타임리프
- example
- spring
- 메시지
- 예제
- sample
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |