pile·
프론트엔드·여기어때 (GC컴퍼니)여기어때 (GC컴퍼니)·

CMS 모노레포 개선기: 빌드 시간 단축부터 번들 최적화까지

문제Spring Boot + Next.js 10여 개 앱을 단일 JAR로 배포하는 CMS 모노레포에서 매 배포가 약 14분 걸려 생산성을 깎았다.
접근`.dockerignore` 와 빌드 이미지 캐시로 초기 단계를 줄이고 TurboRepo concurrency=1 → 3 병렬 빌드로 전환했다. `turbo.json` 의 inputs/outputs를 정교화해 테스트 파일 변경 시 캐시를 유지하고, 1차 병렬 실패 시 concurrency=1 자동 재시도로 메모리 부족을 흡수했다. 번들은 AI 도구로 lodash 사용처를 분석해 네이티브 대체 → 개별 import → 미사용 의존성 제거 순으로 적용했고, Lottie도 SVG light 빌드로 교체했다.
결과배포 시간이 약 14분에서 약 8분으로 약 43% 단축됐고, 공유 패키지 isEqual 개별 import 한 줄로 10여 개 앱 lodash 청크가 299KB → 164KB로 줄어 총 약 1.6MB 번들이 절감됐다.
여기어때 (GC컴퍼니)
여기어때 (GC컴퍼니) 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 프론트엔드·여기어때 (GC컴퍼니)여기어때 (GC컴퍼니)·

    항공 프론트엔드 구축기 (7/10): 창구를 하나만 두었습니다

    여기어때 항공 서비스 프론트엔드가 웹과 앱 웹뷰 두 환경에서 동일한 함수 호출로 동작하는 앱 브릿지 추상화 레이어를 설계한 과정을 다룬다. iOS·안드로이드 규약 차이와 "웹에 존재하지 않는 브릿지를 어떻게 호출하나"라는 문제를 단일 추상화 층으로 해결한 구현 사례다.

    요약 이어보기
    #react#typescript#webview+2