모노레포와 멀티레포?

모노레포는 두 개 이상의 여러 프로젝트를 하나의 저장소(monolithic-repository)에서 관리하는 것을 줄여 말하는 것입니다.

이와 반대로 하나의 프로젝트를 하나의 저장소에서 관리하는 방식은 멀티레포(multi-repository)라고 부른다.

모노레포와 멀티레포의 장단점

모노레포

– 코드의 재사용 용이성
– 간편한 의존성 관리
– 팀 간 협업이 쉬워짐

– 프로젝트별 권한 분리 등 엑세스 제어 부족
– 프로젝트 담당 팀의 자율성이 낮아짐
– 작업 충돌로 코드가 깨질 가능성이 높음

멀티레포

– 프로젝트별 권한 분리 등 엑세스 제어 가능
– 프로젝트 담당 팀의 자율성이 높아짐
– 서로 간의 작업 충돌로 코드가 깨질 가능성이 적음

– 프로젝트가 많아질수록 관리가 어려워짐
– 때문에 서로 다른 레포에 중복 코드가 존재할 가능성도 많아짐
– 의존성 관리가 어려움

Reference

모노레포 : https://en.wikipedia.org/wiki/Monorepo
모노레포에 대해 알아보자 : https://fastcampus.co.kr/story_article_newfefinal
콴다 프론트엔드 팀이 모노레포를 선택한 이유 : https://blog.mathpresso.com/
멀티리포 vs 모노리포 : https://tech.buzzvil.com/handbook/multirepo-vs-monorepo/