monorepo모노레포
monorepo는 여러 프로젝트와 라이브러리, 서비스의 코드를 하나의 버전 관리 저장소에 모아 관리하는 소프트웨어 개발 방식이다.
기사 1편
최근 언급 monorepo는 하나를 뜻하는 mono와 저장소를 뜻하는 repository를 합친 말로, 서로 다른 애플리케이션과 라이브러리, 서비스의 코드를 하나의 저장소에서 함께 관리하는 방식이다. 프로젝트마다 저장소를 따로 두는 polyrepo 방식과 대비된다.
여러 프로젝트에 걸친 변경을 한 번에 반영하고 코드와 도구를 공유하기 쉬운 반면, 저장소가 커질수록 버전 관리 시스템과 빌드 도구의 부담이 커진다. 그래서 바뀐 부분만 빌드하고 테스트하는 Bazel 같은 빌드 도구나 저장소의 일부만 내려받는 기능과 함께 쓰는 경우가 많다.
이 설명은 AIPOST 기사와 널리 알려진 사실을 바탕으로 정리했습니다. 잘못된 내용이 있으면 정정 요청으로 알려 주세요.