둘 이상의 프로젝트를 동일한 저장소에서 관리하는 소프트웨어 개발전략
비록은 저장은 같은 저장소에서 되고 있지만,
각 모듈은 애플리케이션 안에서 독자적인 프로젝트로 존재하는 것
현재 파이노버스랩 프론트엔드는 두개의 프로젝트를 구축했고,
하나의 레파지토리에서 모든 프로젝트를 형상관리 하고있습니다.
APP
(대시보드)/PAY
(결제 모듈)
Backoffice
(관리자 페이지)
모노 레파지토리의 성격을 가지고있지만 APP/PAY
프로젝트의 경우
하나의 의존성을 가지고 있으며, 빌드 또한 따로 분리되어 있지 않은 상황입니다.
단순히 도메인에 따라 라우터 분기처리를 해놓은 상태입니다.
더 규모가 커지기 전에 APP
과 PAY
를 분리 시켜놓고 싶었고,
추후 발생 예정인 신규 프론트엔드 프로젝트 및 디자인 시스템 추가를 유연하게 수행하기 위해 모노레포를 적용하고자 했습니다.
우선 모노레포 도입 후 얻을 수 있는 것과 도입 프로세스를 고민했습니다.
APP
/PAY
의존성 및 빌드 분리
하나의 tsconfig
설정 > 각 프로젝트 오버라이드
하나의 prettier
설정
하나의 ESLint
설정 > 각 프로젝트 오버라이드
공통 함수 등을 활용할 수 있는 프로젝트 내장
디자인 시스템에서 코어 tailwind
설정을 하고 각 프로젝트 오버라이드
도입 설득을 위한 자료조사 및 발표(타 포지션도 이해할 수 있는 내용)
모노레포 도구 비교 및 선택
현재 프론트엔드 프레임워크와 동일한 모노레포 예제 구축
프로젝트 롤백 준비, 프로젝트 분리 작업
프로젝트 적용 및 이슈 트래킹
다음 게시글은 모노레포 예제 작성 과정을 다뤄보겠습니다.