피드로 돌아가기
Dev.toDevOps
원문 읽기
Sharding과 Docker 기반의 고밀도 Playwright CI/CD 파이프라인 구축
The Playwright Playbook — Part 7: The CI/CD Setup Nobody Shows You
AI 요약
Context
단순 쉘 명령어로 실행하는 기초적인 CI 설정은 테스트 규모 증가 시 실행 시간 급증과 환경 불일치 문제를 야기함. 로컬 환경과 CI 환경의 괴리로 인해 발생하는 Flaky Test와 렌더링 일관성 부족을 해결해야 하는 상황임.
Technical Solution
- 테스트 부하 분산 및 실행 시간 단축을 위한 Sharding 구조 설계
- Chromium, Firefox, WebKit의 Parallel Execution을 통한 Browser Matrix 검증 체계 구축
- 렌더링 일관성 확보를 위한 Docker 기반의 전용 VRT(Visual Regression Test) 워크플로우 분리
- CI 환경 전용
playwright.config.ts설정을 통한 Retries 및 Workers 최적화 - Failure Notification 자동화를 위한 Slack 연동 및 Artifact(Trace, Video) 수집 파이프라인 구축
- PR 단계의 빠른 피드백과 메인 브랜치의 정밀 검증을 구분한 이원화된 Workflow 전략 채택
실천 포인트
- CI 환경에서 `forbidOnly: true` 설정을 통해 `test.only` 커밋으로 인한 테스트 누락 방지 - VRT는 일반 기능 테스트와 분리하여 별도 주기나 트리거로 운영함으로써 PR 병목 현상 제거 - `trace: 'on-first-retry'` 설정을 통해 리소스 낭비를 줄이면서 실패 지점의 정밀 분석 데이터 확보 - Docker 이미지 활용으로 OS 및 브라우저 버전 차이에 의한 시각적 회귀 테스트 오탐지 제거