CI 테스트 시간 75% 단축!
by DD
7년 전
조회수 2
PhantomJS 기반의 CI 테스트 환경에서 Puppeteer로 전환을 결정
CI 파이프라인 실행 시간을 13분에서 3분으로 단축하는 데 성공
Headless Chrome 기반 테스트 환경 구축으로 테스트 효율성 향상
PhantomJS의 한계와 Puppeteer의 등장
PhantomJS는 한때 널리 사용되었지만, 유지보수 중단으로 인해 Headless Chrome 기반의 Puppeteer로 전환되었다. 따라서 최신 웹 표준 지원 및 테스트 안정성을 확보했다. 구체적으로 Chrome DevTools Protocol을 활용하여 브라우저 제어 및 테스트 자동화가 가능해졌다.
CI 파이프라인 최적화 방법
Puppeteer 전환 후, 테스트 병렬 처리 및 불필요한 테스트 제거를 통해 CI 시간을 단축했다. Headless Chrome 환경은 리소스 사용량이 적어, 병렬 테스트 실행에 유리하다. 반면, 테스트 코드의 의존성 관리 및 테스트 격리는 여전히 중요한 과제로 남았다.
Puppeteer 기반 테스트 환경 구축
Puppeteer를 사용하여 E2E 테스트를 자동화하고, CI/CD 파이프라인에 통합했다. 따라서 테스트 커버리지를 높이고, 배포 안정성을 향상시켰다. 구체적으로, 테스트 실패 시 알림 기능을 추가하여 문제 발생 시 즉각적인 대응이 가능하도록 했다.