단일 저장소(Monorepo)에 대한 개념 정리

2022. 12. 11. 08:27DevOps

단일 저장소(Monorepo)는 프로젝트의 모든 소스 코드를 단일 저장소에 저장하는 버전 제어 시스템이다.

이는 프로젝트의 여러 부분이 별도의 저장소에 저장되는 다중 저장소 접근 방식과 대조될 수 있다. 단일 저장소는 코드 관리 및 구성 측면에서 제공하는 이점으로 인해 최근 몇 년 동안 인기를 얻었다.


단일 저장소 사용의 주요 이점 중 하나는 개발자가 프로젝트의 여러 부분 간의 종속성을 쉽게 관리할 수 있다는 것이다.

다중 저장소 설정에서 개발자는 종속성을 수동으로 처리하고 각 종속성의 올바른 버전이 사용되고 있는지 확인해야 한다. 단일 저장소를 사용하면 모든 코드가 같은 위치에 저장되므로 이러한 종속성을 보다 쉽게 관리할 수 있다. 또한 필요한 모든 코드가 단일 위치에 저장되므로 코드를 더 쉽게 테스트하고 배포할 수 있다.


단일 저장소의 또 다른 장점은 개발자가 동시에 프로젝트의 여러 부분에서 더 쉽게 작업할 수 있다는 것이다.

다중 저장소 설정에서 개발자는 서로 다른 저장소와 분기 간에 전환해야 하므로 시간이 많이 걸리고 오류가 발생하기 쉽다. 단일 저장소를 사용하면 모든 코드가 단일 저장소에 저장되므로 개발자가 프로젝트의 다른 부분 간에 쉽게 전환할 수 있다.

 

물론 단일 저장소를 사용하는 데에는 몇 가지 잠재적인 단점도 있다.

예를 들어, 코드베이스가 증가함에 따라 모노레포를 확장하는 것이 더 어려울 수 있으며, 저장소 내에서 개별 프로젝트를 격리하는 것이 더 어려울 수 있다. 그러나 많은 조직에서 모노레포의 이점은 이러한 잠재적인 단점을 능가한다.

반응형