오프테이블 Wiki

결정 기록 · 결정 기록

ADR-0020: 프로토타입 단일 Production 배포

프로토타입은 main의 고정 Vercel Production 주소 하나만 운영하고 PR에서는 코드 검증만 수행한다.

상태
확정
신뢰도
높음
근거
3개
업데이트

맥락#

프로토타입은 백엔드와 실제 데이터 없이 사용자 흐름을 빠르게 검증하는 공개 화면이다. 별도의 Vercel Preview를 공식 환경으로 유지하면 사용자가 어떤 주소를 봐야 하는지 혼동하고, Production과 Preview의 상태를 함께 추적해야 한다. 프로젝트 오너는 프로토타입을 하나의 배포로 통일하기로 결정했다. [1]

결정#

  • 공식 프로토타입은 https://prototype.offtable.kr 하나다. https://offtable-prototype.vercel.app은 플랫폼 기본 주소와 장애 확인용 대체 경로로만 둔다. [2]
  • Vercel 자동 배포는 main 브랜치에서만 실행한다.
  • main 이외의 브랜치와 PR은 Vercel Preview를 만들지 않는다.
  • PR 품질 검증은 GitHub Actions에서 lint, typecheck, test와 production build로 수행한다.
  • 검증을 통과한 프로토타입 변경은 main에 병합해 고정 주소에 반영한다.
  • 과거에 생성된 Preview URL은 배포 이력일 뿐 공식 검증 주소나 운영 환경으로 사용하지 않는다.
  • 프로토타입 데이터는 TypeScript·JSON·Markdown fixture와 브라우저 저장소에 한정한다. 실제 Supabase·Auth·원격 DB를 연결하지 않고 제품 웹의 기능 대체 경로로 사용하지 않는다. [3]

Vercel 설정은 apps/prototype/vercel.jsongit.deploymentEnabled에서 모든 브랜치를 끄고 main만 예외로 허용한다. 여러 규칙에 일치할 때 하나라도 true이면 배포되는 Vercel 규칙을 사용한다.

범위#

이 결정은 apps/prototype에만 적용한다. apps/web환경 역할과 승격에 따라 develop에서 실제 개발 DB로 먼저 검증하고 main으로 운영 승격한다.

결과#

  • 사용자는 항상 같은 프로토타입 주소에서 최신 병합본을 확인한다.
  • PR마다 생기는 임시 URL과 배포 상태를 운영 목록에서 제거한다.
  • 라이브 Preview 검수는 포기하고 CI와 로컬 실행으로 병합 전 품질을 확인한다.
  • main 병합은 즉시 공개 프로토타입을 갱신하므로 병합 전 CI 통과가 필수다.

재검토 조건#

  • 외부 고객에게 공개하기 전 별도 승인 환경이 실제로 필요해진다.
  • 백엔드나 환경변수가 연결돼 Production과 분리된 데이터 검증이 필요해진다.
  • 여러 검토자가 동시에 서로 다른 프로토타입 버전을 비교해야 한다.

관련 문서: 프로젝트 개요, 검증 우선과 보안 전환 게이트, offtable.kr 배포 주소, 환경 역할과 승격, 프로젝트 오너 결정

제목, 요약, 태그, 본문을 검색합니다.