DOCS/book/300_architecture/guidelines/deployment_patterns.md
Claude-51124 f197919684 docs: reference/ → guidelines/로 디렉토리명 변경
- 로빙을 만드는 데 지키고 싶은 개발 가이드라인이라는 의미 명확화
- '원칙'보다 더 구체적이고 실용적인 이름
2025-12-06 17:26:31 +09:00

83 lines
1.6 KiB
Markdown

# 배포 패턴 원칙
**작성일**: 2025-12-06
**목적**: 배포 프로세스 일관성 유지
---
## 배포 패턴 구조
### 자동 배포 패턴
```
로컬 개발 → Gitea 푸시 → Actions (51123) → SSH (51124) → git pull → docker 재시작
```
**참고**: `AGENTS.md:83-85`
### 수동 배포 패턴
```
서버 접속 → git pull → docker compose down && docker compose up -d --build
```
**참고**: `AGENTS.md:32`
---
## 워크플로우 파일 구조
### 위치
- 경로: `.gitea/workflows/*.yml`
- 예시: `rb8001/.gitea/workflows/cicd.yml`
### 공통 패턴
1. SSH 키 설정
2. 서버 접속
3. git pull
4. docker 재시작
5. 헬스체크
**참고**: 각 서비스 `.gitea/workflows/` 디렉토리
---
## 배포 검증 원칙
### 필수 확인
- [ ] `docker ps`로 컨테이너 실행 확인
- [ ] 헬스체크 엔드포인트 응답 확인
- [ ] 로그 확인
**주의**: Actions 성공 메시지만 믿지 말고 실제 컨테이너 상태 확인
**참고**: `AGENTS.md:30-31`
---
## SSH Secrets 구조
| Secret 이름 | 설명 | 사용 위치 |
|------------|------|-----------|
| `SSH_PRIVATE_KEY_51124` | 51124 서버 SSH 키 | Gitea Actions |
| `SSH_HOST_51124` | 51124 서버 IP | Gitea Actions |
| `SSH_USER_51124` | SSH 사용자 | Gitea Actions |
**참고**: `DOCS/journey/plans/251206_skill_calendar_자동배포_구성.md`
---
## 배포 패턴 모범 사례
### DO
- `set -e`로 에러 즉시 중단
- `.env` 파일 존재 확인
- 헬스체크 재시도 로직
### DON'T
- Actions 성공 메시지만 믿기
- 빌드 실패 시 로그 확인 생략
---
**업데이트**: 패턴 변경 시 즉시 반영