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 파이프라인에 통합했다. 따라서 테스트 커버리지를 높이고, 배포 안정성을 향상시켰다. 구체적으로, 테스트 실패 시 알림 기능을 추가하여 문제 발생 시 즉각적인 대응이 가능하도록 했다.

PhantomJS를 Puppeteer 전환하며