모노레포(Monorepo)

  • Monolith

    • Project

  • MultiRepo

    • Project 1

    • Project 2

    • Project 3

    • Lib

  • MonoRepo

    • Project 1

    • Project 2

    • Project 3

    • Lib

    • Packages

단일(Single)을 의미하는 'Mono'(모노)와 저장소의 줄임말인 'Repo'에 합성어로 버전 관리를 위한 방법 중 하나로써 여러개의 프로젝트를 하나의 저장소에 저장하는 소프트웨어 개발 전략

장점

  • 비슷한 기능이나 라이브러리를 패키지관리자 없이도 추가할 수 있어 코드의 재사용성 편해집니다.
  • 여러 프로젝트가 나뉘어 있는 경우, 같은 패키지를 여러번 다운로드 받고 각각 빌드가 진행되어야하지만 모노레포에서는 같은 저장소에 모든 코드가 존재하므로 이를 쉽게 관리할 수 있습니다.
  • 개발자들이 모든 프로젝트를 고려하여 코드를 작성할 수 있기 때문에 코드 품질이 일관성 있게 유지됩니다.
  • 모든 코드가 하나의 저장소에 있기 때문에 개발자간의 협업이 쉬어집니다.