- constants.md: 스킬 레벨/스탯 요구사항 구체적 값 제거, 구조 원칙만 유지 - deployment_patterns.md: 구체적 배포 플로우/SSH Secrets 이름 제거, 패턴 원칙만 유지 - logging_rules.md: 구체적 경로/주소 제거, 원칙만 유지 - naming_conventions.md: 구체적 예시 제거, 원칙만 유지 - 실제 값은 각 서비스 README 참조로 변경
78 lines
1.6 KiB
Markdown
78 lines
1.6 KiB
Markdown
# 배포 패턴 원칙
|
|
|
|
**작성일**: 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 성공 메시지만 믿기
|
|
- 빌드 실패 시 로그 확인 생략
|
|
|
|
---
|
|
|
|
**업데이트**: 패턴 변경 시 즉시 반영
|
|
|