목록 보기
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와 패키지 매니저 구조에 맞춘 번들링으로 배포 경량화 검토

토스 계열사 채용139건

채용 사이트에서 전체 보기

다음 읽기

#CI/CD 주제를 다룬 다른 회사 글

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

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

쏘카
쏘카
데브옵스

댓글 0개

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

댓글을 불러오는 중...