채널톡 메인 백엔드 서버 CI 개선기
5
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 채널톡 메인 백엔드 서버 CI의 병목을 구조적으로 줄인 과정을 단계별로 정리한 글입니다. PR CI에서 자동 검증 파이프라인과 테스트 노드/prepare 개념을 정의하고, 작은 서비스에서 확인한 패턴을 메인 서버로 확장했다고 설명합니다. 공유 상태 제거(pgtestdb)로 병렬 실행을 열고, 반복 생성과 숨은 직렬 의존을 분리해 소요 시간을 크게 단축했습니다(579초→261초, 약 10분→약 3분20초). 메인 서버에서는 테스트 노드의 중복 prepare를 없애기 위해 prepare 분리·병렬/순차 phase 분리·SEED_EACH→ISOLATED 전환을 수행해 36.6분→20.9분으로 개선했습니다. 이후 prepare와 테스트 초기화 사이의 빈 대기 시간을 S3 병렬화·sparse checkout 등으로 줄여 전환 시간 중앙값 약 7분 단축했고, 러너 수 증가는 변동성을 키워 실패한 실험으로 정리했습니다. 동일 입력 해시 캐시로 준비 결과 재사용을 생략하고, 동적 큐로 고정 샤딩의 꼬리 시간을 줄여 종료 편차와 평균 시간을 추가 개선했으며, 레이어드 S3 캐시와 실행 환경 겹치기(S3 준비/서비스 기동)까지 포함해 안정적인 15분대 중앙값 성능을 달성했다고 밝힙니다.

연관 게시글