목록 보기
200여개 서비스 모노레포의 파이프라인 최적화
데브옵스

200여개 서비스 모노레포의 파이프라인 최적화

토스
토스
2024년 6월 14일

두줄요약

토스 프론트엔드의 대규모 모노레포 CI/CD 최적화 사례를 소개했습니다. 병렬 파이프라인과 사전 복제, SSR 번들링으로 빌드와 배포 시간을 크게 줄였습니다.

핵심 내용

  • 200여 개 서비스를 운영하는 대규모 프론트엔드 모노레포에서 git push부터 배포까지 5분 수준을 유지한 CI/CD 최적화 사례
  • 병렬 파이프라인, Daily Docker Base Image, SSR Standalone Docker Image를 활용한 속도 개선

구조와 흐름

  • 서비스 변경 수 증가에 따른 빌드 병목과 컨텍스트 스위칭 문제
  • CircleCI Dynamic Configuration으로 서비스별 빌드를 독립 실행해 병렬화
  • 사전 복제된 모노레포 Docker 이미지로 checkout 시간을 대폭 단축
  • Yarn PnP 환경에 맞춘 SSR 번들 생성으로 이미지 크기와 Pod 초기화 시간 감소

성능/운영 포인트

  • 병렬화로 2개 서비스 변경 기준 배포 시간 30분에서 6분 수준으로 단축
  • 미리 구운 Docker 이미지로 git checkout 시간을 36분에서 22초로 단축
  • SSR 이미지 크기를 4GB에서 약 200MB로 줄여 K8S 배포 속도 개선

적용해볼 점

  • 모노레포 규모가 커질수록 빌드 독립성과 리소스 분리가 중요
  • checkout 비용이 큰 환경에서는 베이스 이미지를 미리 갱신하는 전략 고려
  • Node File Trace와 패키지 매니저 구조에 맞춘 번들링으로 배포 경량화 검토

댓글 0

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

댓글을 불러오는 중...