핵심 요약
인프랩은 pnpm, turborepo, 원격 캐시를 도입해 모노레포 CI를 증분 빌드와 캐시 기반으로 대폭 가속했습니다. 이를 통해 의존성 설치 시간을 대폭 축소하고 전체 CI 소요를 최대 4.6배 개선하는 사례를 공유합니다.
구현 방법
- pnpm i --frozen-lockfile로 의존성 설치를 고정하고, CI 에이전트 간 /tmp/.pnpm-store를 공유해 재설치를 방지
- turborepo의 Incremental Builds, Content-aware hashing, Parallel execution, Remote Caching를 적용
- remote cache 서버로 다수 에이전트 간 캐시 공유 (예: ducktors/turborepo-remote-cache 활용)
- 캐시 볼륨 마운트 및 CI용 캐시 이미지를 도입해 최초 런 단계의 불필요한 재설치를 줄임
주요 결과
- 의존성 설치 시간 88초 → 2.6초로 97% 단축
- 전체 CI 소요시간 최대 79% 감소, 4.6배 개선
- 변경된 패키지에 대해서만 빌드/테스트 수행으로 재빌드 시간 대폭 단축


