모노레포 도입기(1)-도입 배경, 설계

Dae-Hee·2023년 12월 3일
0

모노레포 도입기

목록 보기
1/3
post-thumbnail

모노레포 구조

둘 이상의 프로젝트를 동일한 저장소에서 관리하는 소프트웨어 개발전략 
비록은 저장은 같은 저장소에서 되고 있지만,
각 모듈은 애플리케이션 안에서 독자적인 프로젝트로 존재하는 것

현재 파이노버스랩 프론트엔드는 두개의 프로젝트를 구축했고,
하나의 레파지토리에서 모든 프로젝트를 형상관리 하고있습니다.

  • APP(대시보드)/PAY(결제 모듈)

  • Backoffice(관리자 페이지)


모노 레파지토리의 성격을 가지고있지만 APP/PAY 프로젝트의 경우
하나의 의존성을 가지고 있으며, 빌드 또한 따로 분리되어 있지 않은 상황입니다.

단순히 도메인에 따라 라우터 분기처리를 해놓은 상태입니다.

더 규모가 커지기 전에 APPPAY를 분리 시켜놓고 싶었고,
추후 발생 예정인 신규 프론트엔드 프로젝트 및 디자인 시스템 추가를 유연하게 수행하기 위해 모노레포를 적용하고자 했습니다.

우선 모노레포 도입 후 얻을 수 있는 것도입 프로세스를 고민했습니다.



모노레포 도입 후 얻을 수 있는 것

  • APP/PAY 의존성 및 빌드 분리

  • 하나의 tsconfig 설정 > 각 프로젝트 오버라이드

  • 하나의 prettier 설정

  • 하나의 ESLint 설정 > 각 프로젝트 오버라이드

  • 공통 함수 등을 활용할 수 있는 프로젝트 내장

  • 디자인 시스템에서 코어 tailwind 설정을 하고 각 프로젝트 오버라이드



모노레포 도입 프로세스

  1. 도입 설득을 위한 자료조사 및 발표(타 포지션도 이해할 수 있는 내용)

  2. 모노레포 도구 비교 및 선택

  3. 현재 프론트엔드 프레임워크와 동일한 모노레포 예제 구축

  4. 프로젝트 롤백 준비, 프로젝트 분리 작업

  5. 프로젝트 적용 및 이슈 트래킹


다음 게시글은 모노레포 예제 작성 과정을 다뤄보겠습니다.

0개의 댓글