[10분 테코톡] 차니의 Spring Boot Profile과 외부 설정
- Spring Boot는 환경별 설정을 위해 Externalized Configuration과 Profile을 제공합니다. ⚙️
- Externalized Configuration은 외부 속성을 주입하는 메커니즘입니다. 💉
- Profile은 조건별로 Bean 활성화를 제어하는 기능입니다. 🚦
- Spring Boot는 추상화된 Environment를 통해 외부 속성을 관리합니다. 🗂️
- Profile 활성화 시 CLI나 환경 변수를 사용하는 것이 좋습니다. 💻
- Profile 복수 지정 시 뒤에 있는 Profile이 우선순위가 높습니다. 🥇
- 민감한 정보 관리를 위해 환경 변수, .gitignore, 암호화 등의 방법을 사용할 수 있습니다. 🛡️
- 환경 변수 관리 시 코드가 분리되고 클라우드/컨테이너 환경에 친화적입니다. ☁️
- .gitignore를 사용하면 보안성이 높지만 파일 전달 및 동기화가 복잡합니다. 🤫
- 암호화는 유출 시 복호화가 필요하며 운영 복잡도가 상승합니다. 🔑
- application.yml은 단순 속성 파일이며, Profile이 설정을 결정합니다. 📝
- 단일 파일 관리보다 복수 파일 관리가 개발자 실수와 협업 충돌을 줄입니다. 👯