# 배포 패턴 원칙

**작성일**: 2025-12-06
**목적**: 배포 프로세스 일관성 유지

---

## 배포 패턴 원칙

### 자동 배포 원칙
- 로컬 개발 → Git 푸시 → CI/CD 실행 → 서버 배포 → 컨테이너 재시작
- 자동화된 배포는 일관성과 효율성 제공

### 수동 배포 원칙
- 서버 접속 → 코드 업데이트 → 컨테이너 재시작
- 자동 배포가 불가능한 경우에만 사용

**참고**: `AGENTS.md:83-85,32`

---

## 워크플로우 파일 구조 원칙

### 위치
- CI/CD 워크플로우 파일은 표준 경로 사용
- 각 서비스별로 독립적인 워크플로우 관리

### 공통 패턴
1. 인증 설정
2. 서버 접속
3. 코드 업데이트
4. 서비스 재시작
5. 검증

**참고**: 각 서비스 CI/CD 설정 참조

---

## 배포 검증 원칙

### 필수 확인
- [ ] `docker ps`로 컨테이너 실행 확인
- [ ] 헬스체크 엔드포인트 응답 확인
- [ ] 로그 확인

**주의**: Actions 성공 메시지만 믿지 말고 실제 컨테이너 상태 확인

**참고**: `AGENTS.md:30-31`

---

## 인증 Secrets 구조 원칙

- SSH 키: 서버 접속 인증
- 호스트 정보: 배포 대상 서버
- 사용자 정보: 서버 접속 사용자
- 실제 Secret 이름은 CI/CD 설정 참조

**참고**: `DOCS/journey/plans/251206_skill_calendar_자동배포_구성.md`

---

## 배포 패턴 모범 사례

### DO
- `set -e`로 에러 즉시 중단
- `.env` 파일 존재 확인
- 헬스체크 재시도 로직

### DON'T
- Actions 성공 메시지만 믿기
- 빌드 실패 시 로그 확인 생략

---

**업데이트**: 패턴 변경 시 즉시 반영

