Spring Profiles 사용법

Daniel·2024년 3월 22일
0

Back-End

목록 보기
35/42

들어가며

요즈음 사내, 사이드 프로젝트에서 환경 분리를 위해 profiles 를 많이 사용하고 있습니다.
겉핥기 정도로 알고있었던 profiles 에 대해 정리하고 넘어가려합니다.

Spring Profiles 란?

Spring Profiles 은 애플리케이션 구성의 일부를 분리하여 특정 환경에서만 사용할 수 있도록 하는 방법을 제공합니다. - 스프링 공식 문서

사용법

아래의 환경 속성을 사용해 활성화된 프로파일을 지정할 수 있습니다.

spring:
	profiles:
		active: "dev,hsqldb"

활성화된 프로파일이 없는 경우 기본 프로파일이 활성화 됩니다.
기본 프로파일의 이름은 default 이며, 아래와 같은 환경 속성을 통해 설정할 수 있습니다.

spring:
	profiles:
		default: "none"
  • 유효성
# 유효한 설정
spring:
	profiles:
		active: "prod"
---
# 잘못된 설정
spring:
	config:
		activate:
			  on-profile: "prod"
	profiles:
		active: "metrics"

활성 프로파일 추가하기

위에 active 속성을 사용해 활성화 된 프로파일을 설정한다고 했습니다.
active 속성은 다른 속성과 동일한 정렬 규칙을 따릅니다.

즉, .yaml 파일에 active 속성을 dev 라고 설정하고 애플리케이션 실행 시 명령줄 인자로 active 속성을 prod 로 설정한다면,
명령줄 인자가 더 높은 우선순위를 가지므로 prod 프로파일이 활성화 됩니다.

이번에는 활성화 된 프로파일을 대체하는 방법이아닌 추가하는 방법을 알아보겠습니다.

spring:
	profiles:
		include:
			- commin
			- local

위 속성들을 설정 후 애플리케이션이 실행되면 명령줄 인자를 사용해 실행되는 경우에도 common 와 local 프로파일이 활성화 됩니다.

  • 유효성
# 유효한 설정
spring:
	profiles:
		include:
			- common
			- local
---
# 잘못된 설정
spring:
	config:
		activate:
			  on-profile: "prod"
	profiles:
		include:
			- common
			- local

프로파일 그룹

애플리케이션에서 정의하고 사용하는 프로파일이 너무 세분화되어 사용하기 번거로운 경우가 있습니다.
이를 돕기위해 프로파일 그룹을 정의할 수 있습니다.

spring: 
	profiles:
		group:
			production:
				- prod-db
				- prod

명령줄 인자, 또는 속성에 production 을 사용해 애플리케이션을 시작하면 prod, prod-db 환경을 한 번에 활성화 할 수 있습니다.

참고

공식문서

profile
응애 나 애기 개발자

0개의 댓글