모노레포와 멀티레포?

[출처] https://d2.naver.com/helloworld/0923884

[출처] https://d2.naver.com/helloworld/0923884

모노레포는 하나의 Repository 내 여러 프로젝트가 존재하는 것을 말합니다.

보통 하나의 Repository에 하나의 프로젝트로 구성되어 있는 것이 일반적이지만, 세팅부터 사용할 라이브러리 및 유틸함수 등 중복되거나 공통된 부분을 재사용할 경우 하나의 Repisitory에서 여러 개의 프로젝트를 구성할 수 있습니다.

예를 들어 OO 팀에서 서비스를 론칭하려 합니다. 기존에 운영하던 A 프로젝트와 비슷한 B 프로젝트를 만든다고 한다면, 새로운 레포지토리를 생성할 필요 없이 A 프로젝트의 레포지토리 내 B 프로젝트를 추가하여 모듈 등을 공유할 수 있을 것입니다.

[출처] https://d2.naver.com/helloworld/0923884

[출처] https://d2.naver.com/helloworld/0923884

[출처] https://medium.com/mildang/rush로-프론트엔드-모노레포-도입기-5da0c5bc9b30

[출처] https://medium.com/mildang/rush로-프론트엔드-모노레포-도입기-5da0c5bc9b30

멀티레포는 모노레포와 반대로 하나의 Repository 내 하나의 프로젝트가 존재하는 것을 말합니다.

보통 멀티레포로 프로젝트 구성을 하는데, 이 방식을 사용한다면 팀 내에서 운영하는 프로젝트의 개수가 많아질수록 혹은 팀 내 개발자가 많아질수록 멀티레포의 단점이 부각됩니다.

기존 프로젝트 운영 방식인 멀티레포의 단점