dd/DEPLOYMENT.md

166 lines
3.4 KiB
Markdown

# 배포 체크리스트
## ✅ 배포 전 확인사항
### 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)