Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

CI 소요시간을 최대 4.6배 개선하는 방법

인프랩 favicon인프랩·DevOps·
DockerJenkinsTurborepopnpmMonorepo
2023년 11월 01일0

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

인프랩은 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배 개선
  • 변경된 패키지에 대해서만 빌드/테스트 수행으로 재빌드 시간 대폭 단축

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
모노레포 소개 및 도입기 섬네일
75%

모노레포 소개 및 도입기

한글과컴퓨터 favicon한글과컴퓨터·2025년 09월 15일
FE Core팀의 CI 속도전: 캐시 전략을 활용한 병렬 빌드 섬네일
75%

FE Core팀의 CI 속도전: 캐시 전략을 활용한 병렬 빌드

쏘카 favicon쏘카·2025년 06월 10일
Yarn Classic에서 Pnpm으로 전환하기 with TurboRepo 섬네일
74%

Yarn Classic에서 Pnpm으로 전환하기 with TurboRepo

원티드랩 favicon원티드랩·2024년 02월 07일