내가 다니는 회사에서의 운영 환경은 위 사진에 볼 수 있듯이 세 가지가 있다.
prod : 실서버 환경에서 사용할 yml
dev : 개발서버 환경에서 사용할 yml
local : dev 환경에 반영하기 전 개인 컴퓨터 환경에서 사용할 yml
applicaion : 아무 것도 안 붙어있는 기본적인 yml일 경우 모든 환경에서 공통으로 사용할 yml으로 볼 수 있다.
이렇게 환경을 나눌 경우 DB 접속이나 S3, 스토리지 정보등을 환경에 알맞게 세팅할 수 있다.
때문에 local 과 dev의 DB, 스토리지 정보가 동일하고 prod(실서버)의 경우 따로 나누어져있어
좀 더 보안적인 안전과 서로의 데이터를 건들이면서 개발하는 것이 아니기 때문에 데이터들이 섞이거나 혼잡해지는 경우도 줄일 수 있다.
IntelliJ 에서는 Spring Boot를 실행할 경우 실행환경을 정할 수 있는데
위의 사진과 같이 뒤의 local을 dev, prod로 설정하여 어떤 yml으로 실행할지 설정해줄 수 있다.
하지만 개발을 진행할 때에는 반드시 local로 해야하기에 dev, prod의 경우에는 개발서버, 실서버에 배포할 경우에만 맞는 설정의 yml 을 사용하여 실행한다.