관리 메뉴

프론트엔드 정복하기

모노리스 & 멀티레포 & 모노레포 본문

레파지토리 구성하기

모노리스 & 멀티레포 & 모노레포

GROWNFRESH 2023. 9. 17. 09:15

 

레파지토리를 구성하는 다양한 방식이 있습니다.

 

모노리스

소스코드를 모듈화하지 않고 하나의 레파지토리에 모두 넣은 것. 모든 코드가 단일 버전으로 서로 직접 의존하기 때문에 코드 재사용이 용이하고 빌드, 배포 과정도 단순하다.

하지만 관심 분리가 어렵고 기능 추가나 삭제가 레파지토리 전체에 영향을 줄 수 있는 단점이 있다.

 

 

멀티 레포(Multi Repo)는 ...

더보기

먼저 장점은 각 프로젝트가 다른 프로젝트에 의존성을 가지고 있지 않아 독립적으로 빠르게 개발이 가능하다는 것입니다. 그리고 해당 프로젝트에 필요한 도구로만 구성되어 있기 때문에 크기가 가벼워 프로젝트 관리가 수월한 편입니다.

하지만 관리할 프로젝트가 많아질수록 단점이 발생합니다. 프로젝트별로 사용하는 모듈과 버전 스택이 달라질 수 있고요. 오랫동안 건드리지 않은 프로젝트는 관리가 힘들어지고, 레거시 파악이 어려워집니다. 또한 새로운 레파지토리를 생성할 때마다 동일한 서비스 환경과 린트 환경을 반복적으로 셋팅해줘야 합니다.

 

 

모노레포의 장점은 아래와 같습니다.

- 코드의 재사용: 여러 프로젝트에서 사용되는 공통 로직을 쉽게 공유해서 사용할 수 있습니다.

 

- 의존성 관리: prettier, eslint 등 공통으로 사용되는 외부 라이브러리를 공유해서 사용할 수 있습니다.

 

- 속도: 배포와 빌드, 테스트와 같은 작업을 병렬도 한번에 처리할 수 있어 한번의 명령으로 여러 개의 레파지토리에서 작업을 진행할 수 있다.

 

- 협업: 모든 구성원이 모든 코드에 접근하기 쉽기 때문에 협업에 용이합니다.

 

 

참고 사이트

'레파지토리 구성하기' 카테고리의 다른 글

monorepo 에서 pre-commit 훅 구성하기  (0) 2023.10.10
pnpm 패키지 관리자  (0) 2023.09.17
모노레포 - 터보레포  (0) 2023.09.17
모노레포 - Yarn과 Lerna  (0) 2023.09.17
모노 레포 - yarn workspaces  (0) 2023.09.16