Decision Making
코드베이스 관리 전략
모노레포
- 장점
- 패키지 재사용이 편리하다.
- 패키지 간 의존성 관리가 편리하다.
- 단점
- 코드베이스가 무거워진다.
- 검색, IDE 등의 성능이 저하된다.
- 배포 관리가 복잡해진다.
- 배포 주기를 유연하게 가져가기 어려워진다.
개선
- 모노 레포의 집합으로 전체 코드베이스를 구성한다. 각 도메인 별 모노 레포, 공용 라이브러리 모노 레포로 서비스 + 1개의 레포로 구성된 코드베이스를 구성한다.
- 다음과 같이 레포를 구성한다.
- A 도메인
- 프로젝트
- A 도메인 프로젝트 1
- A 도메인 프로젝트 2
- 패키지
- A 도메인 공유 패키지 1
- A 도메인 공유 패키지 2
- B 도메인
- B 도메인 프로젝트 1
- B 도메인 프로젝트 2
- 공용 라이브러리 레포
- 사내 라이브러리 1
- 사내 라이브러리 2