
데브옵스
FE Core팀의 CI 속도전: 캐시 전략을 활용한 병렬 빌드
두줄요약
monorepo CI에서 병렬 빌드와 캐시 사전 점검으로 빌드 시간을 크게 줄인 사례를 정리했습니다. Runner 개선과 검증 단계 분리로 안정성까지 함께 높였습니다.
문제 상황
- turborepo 기반 monorepo에서 30여 개 Next.js 앱을 함께 검증해야 하는 CI 부담
- 캐시 미적중 시 전체 빌드가 20분 이상 걸리고, 병합 대기와 워크플로우 중단이 반복되는 상황
해결 방법
- Ubuntu Runner 사양 상향으로 기본 실행 시간과 안정성 개선
- GitHub Workflow Matrix로 프로젝트별 빌드를 병렬화하고, 캐시 미적중 대상만 실행하도록 분기
- turborepo dry-run으로 캐시 상태를 사전 점검하고, 빌드 검증 단계를 별도 status check로 분리
성능/운영 포인트
- 캐시 미적중 시 전체 CI 시간이 30분대에서 5분대로 단축
- 캐시 적중 시 불필요한 병렬 오버헤드를 줄여 거의 기존 수준의 속도 유지
- 프로젝트 수 증가에도 브랜치 보호 정책과 빌드 안정성 유지
