yaml 파일을 그룹으로 관리하는 법을 알아보자.
application-dev.yml
application.yml
프로젝트를 진행하다 보니 yaml 파일 내 외부에 유출되서는 안되는 정보들이 늘어났다. 내 프로젝트는 RDS나 S3등 다양한 AWS 서비스들을 사용하여 connection 정보들이 yaml파일 내 산재해 있었다. 이에 외부에 공개해서는 안되는 yaml 파일들을 모듈화시켜 깃허브에 올라가지 않게 관리하기 위해 spring.profiles.group 옵션을 사용하였다.
application.yml
application-dev.yml
application-rds.yml
.gitignore
spring.profiles.group 옵션은 jar파일 실행시 그룹화된 프로필 내의 모든 설정 정보를 전달한다. 예를 들어 위의 설정 정보들은 다음과 같이 설명할 수 있다. "현재 그룹화된 프로필은 local, dev, test 세가지 이다. jar파일 실행시 local 프로필을 실행하라고 지정해준다면 그룹내에 있는 application-local.yml, application-redis.yml, application-s3.yml 파일 내에 있는 설정 정보들을 전달해줄 것이다."
spring.profiles.group 옵션의 장점
- 반복하여 사용하는 yaml 값들을 모듈화 시킬 수 있다. yaml파일을 프로필 별로 작성하다보면 중복해서 작성되는 값들이 많은데 이를 모듈화 시켜 관리에 이점을 가질 수 있다.
- 설정 정보 은닉을 할 수 있다. connection 설정 정보는 외부에 공개되면 치명적일 수 있다. 이에 위 사진들 처럼 중요한 설정 정보를 분리하여 yaml파일을 만들고, 이를 .gitignore에 등록하여 실수로 중요한 설정 정보들이 깃허브에 올라가는 것을 사전에 방지할 수 있다.
'BE > Spring' 카테고리의 다른 글
스프링 S3 연동 오류: No valid instance id defined (0) | 2022.07.27 |
---|---|
본인 확인은 어떤 layer에서 이루어져야 할까? (0) | 2022.07.22 |
Springboot에서 Redis Cache 적용하기 (0) | 2022.06.27 |
스프링 스케줄러(@Scheduled) 사용하는 법 (0) | 2022.06.23 |
스프링 부트 실행 환경 분리 (0) | 2022.02.02 |
댓글