dd/DEPLOYMENT.md

3.4 KiB

배포 체크리스트

배포 전 확인사항

1. 프로젝트 빌드

pnpm build
  • 빌드가 성공적으로 완료됨
  • 에러 메시지가 없음

2. Wrangler 로그인

npx wrangler login
  • Cloudflare 계정에 로그인됨

3. 설정 파일 확인

wrangler.jsonc

  • name: 프로젝트 이름이 올바름
  • durable_objects.bindings: COUNTER 바인딩이 설정됨
  • migrations: v1 마이그레이션이 있음

📦 배포

1. 배포 실행

pnpm deploy

또는

npx wrangler deploy

2. 배포 확인

3. Cloudflare Dashboard 확인

https://dash.cloudflare.com 접속

  1. Workers & Pages 선택
  2. 배포된 Worker 선택
  3. Settings 탭:
    • Durable Objects 바인딩 확인
    • Environment Variables 확인 (필요한 경우)

🧪 테스트

1. 기본 기능 테스트

  • 배포 URL 접속 가능
  • 페이지가 올바르게 로드됨
  • "연결하기" 버튼 클릭
  • WebSocket 연결 성공 (초록색 표시)
  • "카운트 증가" 버튼 클릭하여 카운트 증가
  • 숫자가 실시간으로 업데이트됨
  • "리셋" 버튼으로 카운트 초기화

2. 다중 클라이언트 테스트

  • 여러 브라우저/탭에서 동시 접속
  • 모든 클라이언트에서 동일한 카운트 표시
  • 한 클라이언트에서 카운트 증가 시 모든 클라이언트 업데이트
  • 실시간 접속자 수가 정확함

3. 영속성 테스트

  • 카운트 증가
  • 모든 클라이언트 연결 해제
  • 다시 연결
  • 이전 카운트 값이 유지됨

🔍 문제 해결

Durable Objects 오류

만약 "Durable Object not configured" 오류가 발생하면:

# 1. wrangler.jsonc 확인
# 2. 다시 배포
npx wrangler deploy

# 3. Dashboard에서 Durable Objects 바인딩 확인

WebSocket 연결 실패

# 실시간 로그 확인
npx wrangler tail

빌드 오류

# 깨끗하게 재빌드
rm -rf .svelte-kit node_modules
pnpm install
pnpm build

📊 모니터링

실시간 로그

pnpm cf:tail

Cloudflare Analytics

Dashboard > Workers & Pages > [프로젝트 이름] > Analytics

모니터링 항목:

  • 요청 수
  • 에러율
  • CPU 시간
  • Duration (GB-seconds)

🔄 업데이트 배포

코드 변경 후:

# 1. 변경사항 확인
git status

# 2. 커밋
git add .
git commit -m "Update: [변경 내용]"

# 3. 빌드 및 배포
pnpm build
pnpm deploy

# 4. 배포 확인
# URL 접속하여 변경사항 확인

💰 비용 관리

Free Tier 제한 (2024년 기준)

  • 100,000 요청/일
  • Durable Objects: 1 GB-second/일 무료

비용 절감 팁

  • WebSocket Hibernation API 사용 (현재 구현됨)
  • 불필요한 로그 제거
  • 연결 풀링 최적화

🚀 다음 단계

  • 커스텀 도메인 연결
  • HTTPS 인증서 설정 (자동)
  • 모니터링 및 알림 설정
  • 백업 및 복구 계획

📚 추가 리소스