# 배포 체크리스트 ## ✅ 배포 전 확인사항 ### 1. 프로젝트 빌드 ```bash pnpm build ``` - [ ] 빌드가 성공적으로 완료됨 - [ ] 에러 메시지가 없음 ### 2. Wrangler 로그인 ```bash npx wrangler login ``` - [ ] Cloudflare 계정에 로그인됨 ### 3. 설정 파일 확인 #### wrangler.jsonc - [ ] `name`: 프로젝트 이름이 올바름 - [ ] `durable_objects.bindings`: COUNTER 바인딩이 설정됨 - [ ] `migrations`: v1 마이그레이션이 있음 ## 📦 배포 ### 1. 배포 실행 ```bash pnpm deploy ``` 또는 ```bash npx wrangler deploy ``` ### 2. 배포 확인 - [ ] 배포 성공 메시지 확인 - [ ] 배포 URL 확인 (예: https://dd.your-subdomain.workers.dev) ### 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" 오류가 발생하면: ```bash # 1. wrangler.jsonc 확인 # 2. 다시 배포 npx wrangler deploy # 3. Dashboard에서 Durable Objects 바인딩 확인 ``` ### WebSocket 연결 실패 ```bash # 실시간 로그 확인 npx wrangler tail ``` ### 빌드 오류 ```bash # 깨끗하게 재빌드 rm -rf .svelte-kit node_modules pnpm install pnpm build ``` ## 📊 모니터링 ### 실시간 로그 ```bash pnpm cf:tail ``` ### Cloudflare Analytics Dashboard > Workers & Pages > [프로젝트 이름] > Analytics 모니터링 항목: - 요청 수 - 에러율 - CPU 시간 - Duration (GB-seconds) ## 🔄 업데이트 배포 코드 변경 후: ```bash # 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 인증서 설정 (자동) - [ ] 모니터링 및 알림 설정 - [ ] 백업 및 복구 계획 ## 📚 추가 리소스 - [Cloudflare Workers 문서](https://developers.cloudflare.com/workers/) - [Durable Objects 가이드](https://developers.cloudflare.com/durable-objects/) - [Wrangler CLI 문서](https://developers.cloudflare.com/workers/wrangler/) - [SvelteKit Cloudflare 어댑터](https://kit.svelte.dev/docs/adapter-cloudflare)