|
1 | | -# depoly |
| 1 | +# SpeedCam Deploy |
| 2 | + |
| 3 | +6대 GCE 인스턴스의 프로덕션 compose, 인프라 설정, 배포 파이프라인을 조율한다. |
| 4 | + |
| 5 | +## 디렉토리 구조 |
| 6 | + |
| 7 | +``` |
| 8 | +depoly/ |
| 9 | +├── compose/ # 인스턴스별 docker-compose 파일 |
| 10 | +├── config/ # Traefik, 모니터링, MySQL 설정 |
| 11 | +├── env/ # 환경변수 템플릿 (*.env.example) |
| 12 | +├── scripts/ # 배포 스크립트 |
| 13 | +├── docs/ # 배포 가이드 |
| 14 | +└── .github/workflows/ # CI/CD 파이프라인 |
| 15 | +``` |
| 16 | + |
| 17 | +## 배포 대상 인스턴스 |
| 18 | + |
| 19 | +| 인스턴스명 | Zone | 역할 | 상태 | |
| 20 | +|-----------|------|------|------| |
| 21 | +| api-primary | us-central1-a | API 서버 (Primary) | Active | |
| 22 | +| api-secondary | us-central1-b | API 서버 (Secondary) | Active | |
| 23 | +| web-primary | us-east1-b | Web 서버 (Primary) | Active | |
| 24 | +| web-secondary | us-east1-c | Web 서버 (Secondary) | Active | |
| 25 | +| db-master | us-central1-a | MySQL Master | Active | |
| 26 | +| db-replica | us-central1-c | MySQL Replica | Active | |
| 27 | + |
| 28 | +## 빠른 시작 |
| 29 | + |
| 30 | +### 전체 배포 |
| 31 | + |
| 32 | +```bash |
| 33 | +./scripts/deploy-all.sh <zone> |
| 34 | +``` |
| 35 | + |
| 36 | +예시: |
| 37 | +```bash |
| 38 | +./scripts/deploy-all.sh us-central1-a |
| 39 | +``` |
| 40 | + |
| 41 | +### 개별 배포 |
| 42 | + |
| 43 | +각 인스턴스 배포는 `docs/manual-deploy.md` 참조 |
| 44 | + |
| 45 | +## 저장소 책임 범위 |
| 46 | + |
| 47 | +이 저장소(depoly)는 다음을 관리한다: |
| 48 | + |
| 49 | +- **Docker Compose 파일**: 각 GCE 인스턴스에서 실행되는 서비스 정의 |
| 50 | +- **인프라 설정**: Traefik (리버스 프록시), 모니터링 스택 (Prometheus, Grafana), MySQL 설정 |
| 51 | +- **환경 설정**: 환경변수 템플릿 및 설정 파일 |
| 52 | +- **배포 자동화**: 배포 스크립트 및 CI/CD 파이프라인 |
| 53 | +- **배포 문서**: 수동 배포 가이드 및 트러블슈팅 |
| 54 | + |
| 55 | +## 상세 배포 가이드 |
| 56 | + |
| 57 | +자세한 배포 절차는 [`docs/manual-deploy.md`](./docs/manual-deploy.md)를 참조하시기 바랍니다. |
0 commit comments