피드로 돌아가기
Slashed My Automation Suite from 9 Hours to 1 Hour with This Simple Caching Trick
Dev.toDev.to
DevOps

Base Cache 전략을 통한 CI/CD 테스트 실행 시간 9시간에서 1시간으로 단축

Slashed My Automation Suite from 9 Hours to 1 Hour with This Simple Caching Trick

Pau Dang2026년 4월 30일3intermediate

Context

Node.js Quickstart Generator의 720가지 기술 조합 검증 과정에서 매번 발생하는 npm install로 인한 병목 현상 발생. 중복된 Network fetch와 Disk I/O로 인해 전체 테스트 시간이 9시간까지 늘어나는 구조적 한계 직면.

Technical Solution

  • Language와 Database 조합을 기준으로 8개의 고정된 Base Cache 그룹을 정의하여 의존성 중복 제거
  • Base Cache 존재 시 fs.copy를 통해 node_modules를 즉시 복제함으로써 초기 설치 시간 최소화
  • npm install --prefer-offline 옵션을 적용하여 로컬 캐시 우선 활용 및 Delta update 수행
  • 최초 실행 시에만 생성된 node_modules를 Base Cache 경로로 저장하는 자동 갱신 로직 구현
  • 개별 프로젝트의 고유성과 공통 의존성(95%)을 분리하여 관리하는 계층적 캐싱 구조 설계

Impact

  • 전체 실행 시간: 9 Hours → 1 Hour로 약 88% 감소
  • 저장 공간 효율성: 80GB(전체 캐싱 시) → 1.2GB로 최적화

Key Takeaway

전체 데이터의 작은 차이(Delta)만 처리하도록 설계하여 Network 및 I/O 비용을 극단적으로 낮추는 전략의 유효성 입증.


1. CI/CD 병목 지점이 코드 로직인지 Network/IO 영역인지 정밀 분석

2. 모든 조합을 개별 캐싱하기보다 공통 분모를 추출한 Base Cache 레이어 도입 검토

3. 패키지 매니저의 offline 모드나 delta update 옵션을 활용한 설치 프로세스 최적화

원문 읽기