E2E CI 실행 환경 선택
상태
승인
후보군
| 방안 | 설명 |
|---|---|
| GitHub Actions service + bootRun | MySQL을 GitHub Actions service 컨테이너로 기동. 백엔드는 ./gradlew bootRun, 프론트엔드는 npm run dev로 실행 |
| Docker Compose 전체 빌드 | CI에서 이미지 빌드 후 docker-compose up으로 전체 스택 기동 |
| 외부 스테이징 서버 | 고정 스테이징 서버에 배포 후 E2E 실행 |
결정
GitHub Actions service 컨테이너 + bootRun
결정 이유
- Docker 이미지 없어도 E2E 실행 가능 — STK9-03·STK9-04가 STK9-02(Dockerfile)에 의존하지 않아 Wave 1 병렬 진행 가능
- CI 단계 분리 명확: CI는 코드 검증, CD는 이미지 빌드·배포
- GitHub Actions service 컨테이너로 MySQL 기동이 30초 이내 완료
검토 대안
| 방안 | 기각 이유 |
|---|---|
| Docker Compose 전체 빌드 | 이미지 빌드 시간 추가로 CI가 느려짐. Dockerfile 선행 완료 의존성 발생 |
| 외부 스테이징 서버 | 추가 비용 발생. E2E 실패 시 원인 추적이 어렵고 환경 격리가 안 됨 |
트레이드 오프
- 득: Dockerfile 완성 전에도 E2E 병렬 진행 가능. 빠른 피드백
- 실:
bootRun이 이미지 실행보다 느림 (JVM 초기화 약 60초). CI 환경과 프로덕션 환경 간 미세 차이 존재 가능