개요

진행중인 프로젝트에서 웹과 앱 버전을 모두 제작해야 했는데, 웹 버전과 앱 버전의 레포지토리를 따로 관리해서 관리하다보니, 이런저런 애로사항이 많아. 한 곳에서 관리를 할 수는 없나 하던 차에, 모노레포라는 구조를 알게 되어 적용해보기 위해 조사해보게 되었다.

Monorepo?

스크린샷 2024-09-26 오후 5.21.37.png

<aside> 📢

“모노레포란 잘 정의된 관계를 가진, 여러 개의 독립적인 프로젝트들이 있는 하나의 레포지토리이다.”

</aside>

vs Monolithic

기존의 멀티레포(Polyrepo)가 가지고 있던 문제점

스크린샷 2024-09-26 오후 5.25.03.png

  1. 새 프로젝트 생성 비용이 큼
  2. 프로젝트 간 코드 공유가 어려움
  3. 같은 이슈를 수정하기 위해 각각의 레포지토리에 커밋이 필요
  4. 히스토리 관리의 어려움
  5. 제각각인 툴링으로 개발자 경험이 일관적이지 않음

모노레포가 해결해주는 것