테스트가 너무 많아서 CI가 터질 지경... PR마다 전체 테스트 돌리던 걸 포기한 이유

타이미 백엔드에 Datadog Test Impact Analysis(TIA)를 도입해 PR CI를 고속화했다. 기존 35,000개 테스트를 10분에 실행하던 것을, PR에서는 관련 테스트만 실행하고 마지막 병합 시 전체 테스트를 수행하도록 분리했다. 이를 통해 CI 비용 증가 문제를 해결했다.

AI 요약

타임이(Taimee)의 플랫폼 엔지니어링 팀이 Rails 백엔드의 CI 피드백 속도를 높이기 위해 Datadog Test Impact Analysis(TIA)를 도입한 사례를 공유했다. 약 35,000개의 테스트가 월 2,000개씩 증가하는 상황에서 모든 PR에 전체 테스트를 실행하는 방식은 지속 불가능하다고 판단, PR CI에서는 변경 관련 테스트만 실행하고 마지막 병합 큐에서 전체 테스트를 실행하는 이중 구조를 설계했다. 이를 통해 개발자 피드백 속도를 크게 개선하면서도 품질을 보장했다.

핵심 포인트

  • 타임이 백엔드는 모듈러 모놀리스 구조로 약 35,000개 테스트를 보유, 월 2,000개씩 증가
  • 기존 튜닝(35병렬 분할, split-test, 캐시 등)으로 10분 내 완주를 달성했으나 한계에 도달
  • PR CI(ci_branch)는 TIA로 관련 테스트만 실행, 병합 큐 CI(ci)는 전체 테스트 + Datadog 커버리지 수집
  • Datadog Test Optimization과 datadog-ci gem(>=1.0)이 TIA 도입의 전제 조건

향후 전망

  • AI 코딩 도구로 테스트 증가 속도가 더 빨라지는 환경에서 선택적 테스트 실행 전략이 표준이 될 전망
  • 병합 큐 기반 품질 게이트와 PR 단계의 빠른 피드백 분리 구조가 널리 채택될 가능성
출처:Hatena (Timee Tech Blog)
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...