- resources 디렉토리 하위에 profiles 폴더를 생성하고 여기에 각 profile별로 프로퍼티 파일을 생성한다. (예시는 .yml 파일이지만 .properties 파일도 가능)
- 각 profile 별로 만든 프로퍼티 파일에 어떤 profile일 때 활성화시킬지 각각 명시해준다.
- yml 파일일 경우
spring :
profiles :
active : "prod"
- properties 파일일 경우
spring.profiles.active=prod
- build.gradle 파일을 열어 resources/profiles 디렉토리에서도 리소스를 읽어올 수 있도록 아래 코드를 추가한다.
sourceSets {
main {
resources {
srcDirs("src/main/resources", "src/main/resources/profiles")
}
}
}
- 부트 실행시에 profile 값을 적용할 수 있도록 아래 코드를 추가한다.
bootRun {
String activeProfile = System.properties['spring.profiles.active']
println "zone: $activeProfile"
systemProperty "spring.profiles.active", activeProfile
}
- 빌드 실행 시 jvm option에 활성화할 profile 옵션을 추가하여 실행한다.
java -Dspring.profiles.active=local -jar ${빌드 결과물 이름}.jar