목록 보기
모노레포 이렇게 좋은데 왜 안써요?
프론트엔드

모노레포 이렇게 좋은데 왜 안써요?

무신사
무신사
2023년 9월 6일

두줄요약

여러 레포지토리로 분산된 프론트엔드 서비스를 모노레포로 통합한 사례를 소개했습니다. 공통 컨벤션과 패키지 공유로 생산성과 유지보수성이 크게 향상되었습니다.

문제 상황

  • 10개 이상 서비스가 멀티 레포지토리로 분산되어 컨벤션, 린트 환경, 라이브러리, 코드 패턴이 제각각인 상태
  • 신규 서비스 생성 시 환경 세팅과 MDS 컴포넌트 재구현이 반복되는 구조
  • 공통 정책 변경 시 여러 레포지토리 담당자에게 각각 수정 요청해야 하는 운영 비효율

원인 분석

  • 서비스별 레포지토리 분리로 인해 코드와 환경의 표준화가 어려운 구조
  • 공통 코드와 정책이 흩어져 있어 버전 통일과 히스토리 관리가 어려운 상태
  • 담당자 외 개발자가 작업할 때 진입 비용과 온보딩 비용이 높은 상황

해결 방법

  • 모노레포로 전환해 여러 서비스와 공통 모듈을 한 저장소에서 관리
  • yarn berry, yarn workspace, PnP, zero-install을 활용해 중복 의존성과 설치 비효율 완화
  • 공통 컨벤션 패키지와 page-modules 구조를 도입해 컨벤션 통일, 응집도 강화, 페이지 간 의존성 제거

성능/운영 포인트

  • 서비스 배포는 독립적으로 유지하면서도 공통 패키지는 함께 관리
  • apps, libs, packages로 역할을 나누어 코드 재사용과 고도화를 분리
  • 버전 통일과 공통 모듈 공유로 공통 작업 공수 80% 이상, UI 작업 시간 50% 이상 감소

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...