
FE Core팀의 CI 속도전: 캐시 전략을 활용한 병렬 빌드
두줄요약
monorepo CI에서 Runner 증설과 Matrix 병렬 빌드를 도입해 빌드 시간을 단축했습니다. Turborepo 캐시 사전 점검으로 캐시 적중 시 오버헤드도 줄였습니다.
문제 상황
- Turborepo 기반 monorepo의 30여 개 Next.js 프로젝트와 잦은 main 브랜치 병합
- 캐시 미적중 시 전체 빌드 20분 이상, 동시 워크플로우에서 30분 이상 대기와 취소 오류 발생
해결 방법
- Ubuntu Runner의 메모리·코어 상향으로 전체 빌드 시간을 20분대에서 10분대로 단축
- GitHub Actions Matrix로 프로젝트별 빌드 병렬화, Turborepo 원격 캐시 서버 활용
turbo run build --dry-run으로 캐시 상태를 사전 확인해 미적중 패키지만 Matrix 빌드- 개별 Matrix 결과를 단일 브랜치 보호 status로 묶는 검증 작업 추가
트레이드오프
- 캐시 미적중 시 Matrix 병렬화로 10분 27초에서 8분 6초로 단축
- 캐시 적중 시 Matrix 오버헤드로 1분 14초에서 6분 57초로 증가
- 캐시 사전 점검 분기로 캐시 적중 시 1분 11초, 미적중 시 5분 29초 확보
성능/운영 포인트
- 빌드 미적중 시간 30분대에서 5분대로 줄여 전체 CI 빌드 시간 최대 84% 단축
- 불필요한 빌드 방지와 프로젝트별 성공 여부 확인을 통한 파이프라인 안정성 강화


