모노레포

송은우·2022년 10월 8일
0

TIL

목록 보기
25/61

여러 서버에 해당하는, 혹은 여러 애플리케이션에 해당하는 모든 코드베이스를 한 곳에 모은 것

커졌을 때 생기는 CI의 문제점이 test가 너무 오래걸린다든가 할 수 있다.
중복 패키지 제거, 스크립트 설치 같은 것들이 가능하기에 훨씬훨씬 좋음

buck, rush, bazel 같은걸로 가능함
phd
workspaces로 세팅 가능함
Lerna
가 workflow를 잘 관리해줌
turf도 geo 를 하기 좋음

install 설치가 오래걸림.
이때 pnpm 같은 걸로 할 수 있음
recompile, rebuild, retest 가 문제가 생김
nx, turbo repo가 있음
smart build system임
모든 앱과 패키지에 디펜던시 트리를 만듦
병렬적으로 작업 실행함

nx
다양한 기능이 있음
보일러 플레이트 같은거 가능함
vs extesnion, 분산 병렬 작업...
다양한 ci/cd
bazel에서 영감을 받음
너무 설정이 너무 많음
core만 사용할 경우가 있음

Turbo
nx보다 작음
우리의 방식을 유지할 수 있도록 만들어줌
packagejson같은 것들, mono repo같은 것들... 같은 무언가를 다 해줌
typescript가 됨.
npx create-turbo@latest turboapp
보일러 플레이트도 있음

remote caching 을 해주기에, 훨씬 빠르게 build과정이 됨
전부 rebuild할 필요가 없음

nx
모든 monorepo에서 다 좋음
왜 모노 repo를 쓸까?
관리가 편해서, dependency가 중복 설치될 필요가 없어서

profile
학생의 마음가짐으로 최선을 다하자

0개의 댓글