<aside> ℹ️ 해당 글은 사내 발표를 진행하기 위한 형태의 글로 작성되었습니다.

</aside>

<aside> ℹ️ PPT: https://slides.com/wjl/monorepo

</aside>


Contents



Monorepo Tools를 선택하기위해서는 어떠한 기준을 가지고 선정해야할지 알아야하기 때문에 먼저 도입배경에 대해 설명하고자 합니다.

Monolithic application

각각의 기능을 개발하여 하나의 앱으로 패키징하여 배포하는 것을 말합니다. one repository 구조로 하나의 큰 application만 존재합니다.

onerepo

<aside> 👍 장점

<aside> 👎 단점

</aside>

Current Build Time

실제로 기존 CLO-SET 이 jQuery 였을 시절 Backend와 Frontend가 하나의 repository에서 구성되어 있었을 때 이런 문제를 해결하기 위해서 Frontend와 Backend repository가 분리하는 작업을 하긴 했습니다.

하지만 약 2년전 CONNECT, Design System을 처음 개발했을 당시 Lerna와 Yarn을 사용해 Monorepo를 사용하여 구성한 것에 비해 CLO-SET 의 경우 jQuery를 벗어나 처음 구성부터 React.js와 Next.js로 setting한 환경을 만들어서 개발하고 있지만 지금까지 One Repository로 약 6-7년을 유지해오고 있었던 상황입니다.

빌드타임

약…30분………….이러지마……
Build Time 중 약 50%의 비중을 Docker가 차지함

약…30분………….이러지마…… Build Time 중 약 50%의 비중을 Docker가 차지함