JadeCode

모노레포(MonoRepo) 본문

개발

모노레포(MonoRepo)

z-zero 2023. 4. 27. 14:00

기존에 react-native로 만들었던 앱 프로젝트를 next.js로 웹으로 만들려고 했다.

하지만 둘에서 공통으로 작업되는 함수가 있으며 비슷한 코드들이 있어서 하나의 레포로 만들면 어떨까 하는 생각으로 기술을 찾아 보다가 모노레포 라는 것을 발견했다.

 

모노레포(Monolithic Repository)는 하나의 저장소에 여러 프로젝트나 모듈들을 함께 저장하는 소프트웨어 개발 방법론이다.

기존에 하나의 프로젝트마다 별도의 저장소를 유지하는 멀티레포 방식과는 다르게 모노레포에서는 모든 코드를 하나의 저장소에서 관리함으로써 여러 가지 장점을 제공한다. 코드 공유와 코드 복사 붙여넣기의 양을 줄일 수 있으며, 코드 병합과 코드 배포의 작업을 더 쉽게 관리할 수 있다.

 

대표적으로는 Turborepo, Yarn Workspaces, Lerna와 같은 도구들이 있다.

 

Turborepo는 초기 세팅을 다 해주기 때문에 모노레포의 원리를 이해하기 위해 Yarn Workspaces로 먼저 프로젝트를 만들어보려 한다.

 

주로 B2C, B2B,admin을 하나의 레포지토리로 관리할 때 사용되면 좋다.

 

 

 

Comments