인프런 커뮤니티 질문&답변

dionisos198님의 프로필 이미지
dionisos198

작성한 질문수

실전! Querydsl

스프링 데이터 페이징 활용2 - CountQuery 최적화

application.yml 분리 이유에 대해 궁금합니다.

작성

·

146

0

영한님이 말하시기에

 

자기는 application-local, dev, 운영 이렇게 나누신다고 하셨습니다.

 

당연히 나누어야 하는 것에 동의합니다.

 

하지만 왜 IntelliJ 내에서도 나누어야 하는지 궁금합니다 .

 

그냥 저는 local yml 만 인텔리제이에 두고

 

dev yml 은 따로 팀 공동 노션에 보관하는데

 

그걸 intelliJ 내에서 돌리는 일이 거의 없었던 것 같습니다.

 

왜 intelli J 내에서 따로 운영 yml 이나 이런 걸 보관하는 건가요??

 

 

 

 

 

 

 

 

 

 

 

 

 

답변 1

1

안녕하세요. dionisos198님, 공식 서포터즈 David입니다.

로컬, 개발, 운영 서버에 배포할 때 적용되는 애플리케이션 설정이 서로 다르기 때문입니다.

개발 서버 배포시 프로파일이 dev면 application-dev.yml이 적용되고, 프로파일이 prod면 application-prod.yml이 적용되는 방식으로 동작하기 때문입니다.

인텔리제이에서 프로파일을 나눈다기보다 프로파일별 애플리케이션 설정 파일(application.yml)을 프로젝트 내에 만든다고 보는 게 더 적절합니다.

감사합니다.

dionisos198님의 프로필 이미지
dionisos198
질문자

제 질문의 요지는 당연히 분리를 해야 되는게 맞는데 왜 그 파일을 관리를 할 때 왜 IDE 에서 관리를 하냐 입니다.

 

걍 노션에 관리를 하면 안되나요? 오히려 applicatino- prod 을 인텔리제이에서 실행시키면 데이터가 다 날라갈 수 있는 실수할 여지도 있어보이는데

 

답변에서 설명드렸듯이 IDE에서 프로파일을 관리하는 게 아니라 프로젝트(소스코드)에 프로파일을 추가하는 관점으로 보는 게 적절합니다.

IDE를 사용하지 않아도 프로젝트에 프로파일별 설정을 추가하는 건 얼마든지 가능합니다.

 

IDE를 통해 로컬에서 애플리케이션을 실행시킬 때 프로파일을 지정하여 정해진 프로파일에 대한 설정 파일만 실행되게 만들 수 있습니다. 이 부분은 인텔리제이 프로파일 설정이라고 검색해 보시면 됩니다.

 

또한, 클라우드 서비스를 사용하는 경우 배포시 특정 정보(DB 계정 등)는 클라우드 서비스에서 미리 설정된 정보가 주입되어 동작합니다. IDE에서 프로파일을 잘못 지정하여 운영용 설정 파일로 동작되더라도 미연에 방지됩니다. 물론, 이런 설정을 할 수 없는 환경이라면 질문자분께서 생각하시는 상황이 발생할 수 있습니다.

 

다만, 실무에서 노션으로 설정 파일을 관리하는 경우는 경험해 본적이 없습니다.

dionisos198님의 프로필 이미지
dionisos198

작성한 질문수

질문하기