목록 보기
FE Core팀의 CI 속도전: 캐시 전략을 활용한 병렬 빌드
데브옵스

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

쏘카
쏘카
2025년 6월 10일

두줄요약

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% 단축
  • 불필요한 빌드 방지와 프로젝트별 성공 여부 확인을 통한 파이프라인 안정성 강화

다음 읽기

#CI/CD 주제를 이어서 읽기

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

monorepo CI에서 병렬 빌드와 캐시 사전 점검으로 빌드 시간을 크게 줄인 사례를 정리했습니다. Runner 개선과 검증 단계 분리로 안정성까지 함께 높였습니다.

쏘카
쏘카
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...