피드로 돌아가기
Dev.toDevOps
원문 읽기
Base Cache 전략을 통한 CI/CD 테스트 실행 시간 9시간에서 1시간으로 단축
Slashed My Automation Suite from 9 Hours to 1 Hour with This Simple Caching Trick
AI 요약
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 옵션을 활용한 설치 프로세스 최적화