E2E CI 실행 환경 선택

상태

승인

후보군

방안설명
GitHub Actions service + bootRunMySQL을 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 환경과 프로덕션 환경 간 미세 차이 존재 가능