Skip to content

Commit 6c5148b

Browse files
authored
Update README.md
1 parent 5393ce9 commit 6c5148b

1 file changed

Lines changed: 2 additions & 124 deletions

File tree

README.md

Lines changed: 2 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -327,37 +327,7 @@ cd void-BE
327327
- 감정 키워드 포함 가능
328328
```
329329

330-
---
331-
332-
## ⚙️ 설정 가이드
333330

334-
### application.yaml 주요 설정
335-
336-
```yaml
337-
spring:
338-
application:
339-
name: void
340-
341-
data:
342-
redis:
343-
host: localhost
344-
port: 6379
345-
346-
gemini:
347-
api:
348-
key: ${KEY_hackerton}
349-
350-
springdoc:
351-
swagger-ui:
352-
path: /swagger-ui.html
353-
```
354-
355-
### Redis 키 구조
356-
357-
- **키워드 카운트**: `keyword:{keyword}` → score (카운트)
358-
- **데이터 타입**: Sorted Set (ZSet)
359-
360-
---
361331

362332
## 🧪 테스트
363333

@@ -412,12 +382,6 @@ curl -X POST https://voidvoid.store/ask \
412382
-d '{"text": "테스트 메시지"}'
413383
```
414384

415-
### 테스트 커버리지
416-
417-
- **목표 커버리지**: 80% 이상
418-
- **실행 환경**: GitHub Actions CI
419-
- **리포트**: Actions Artifacts에서 다운로드 가능
420-
421385
---
422386

423387
## 🔄 CI/CD 파이프라인
@@ -482,42 +446,6 @@ jobs:
482446
- 배포 완료 알림
483447
```
484448

485-
### 자동화 이점
486-
487-
✅ **수동 배포 불필요**: 코드만 푸시하면 자동으로 배포
488-
✅ **환경 일관성**: 모든 배포가 동일한 파이프라인 통과
489-
✅ **빠른 롤백**: 문제 발생 시 이전 커밋으로 즉시 복구
490-
✅ **시크릿 관리**: GitHub Secrets로 안전한 API 키 관리
491-
✅ **테스트 자동화**: 모든 PR에 대해 자동 테스트 실행
492-
493-
### 배포 프로세스
494-
495-
1. **개발자가 코드 푸시**
496-
```bash
497-
git push origin feature/new-feature
498-
```
499-
500-
2. **자동 CI 실행**
501-
- 빌드 및 테스트 자동 실행
502-
- 실패 시 슬랙/이메일 알림
503-
504-
3. **Pull Request 생성**
505-
- CI 통과 확인
506-
- 코드 리뷰
507-
508-
4. **main 브랜치로 머지**
509-
- 자동 배포 트리거
510-
- 프로덕션 환경 업데이트
511-
512-
5. **배포 완료**
513-
- 서비스 중단 없이 배포 (Blue-Green 또는 Rolling Update)
514-
- 헬스 체크 자동 확인
515-
516-
### 모니터링
517-
518-
- **배포 상태**: GitHub Actions 탭에서 실시간 확인
519-
- **실패 알림**: 슬랙, 이메일로 즉시 알림
520-
- **로그 확인**: Actions 로그에서 상세 디버깅 가능
521449

522450
---
523451

@@ -613,43 +541,6 @@ redis-cli -h <redis-host> KEYS keyword:*
613541
- `application.yaml`에서 Redis 호스트/포트 확인
614542
- 방화벽 규칙 확인 (6379 포트 개방)
615543

616-
---
617-
618-
#### 4. 배포 후 API 응답 없음
619-
620-
**체크리스트:**
621-
```bash
622-
# 1. 서버 상태 확인
623-
curl https://jyhdevstore.store/health
624-
625-
# 2. 로그 확인
626-
# 프로덕션 서버 접속 후
627-
tail -f /var/log/void-be/application.log
628-
629-
# 3. 프로세스 확인
630-
ps aux | grep java
631-
```
632-
633-
**일반적인 원인:**
634-
- 포트 충돌 (8080 포트 사용 중)
635-
- 환경 변수 누락
636-
- 메모리 부족 (OOM)
637-
638-
---
639-
640-
#### 5. GitHub Actions 무한 대기
641-
642-
**증상**: CI 파이프라인이 계속 실행 중
643-
644-
**해결:**
645-
1. Actions 탭에서 실행 중인 워크플로우 확인
646-
2. 필요시 수동으로 Cancel
647-
3. 워크플로우 타임아웃 설정 추가:
648-
```yaml
649-
jobs:
650-
build:
651-
timeout-minutes: 10 # 10분 후 자동 종료
652-
```
653544

654545
---
655546

@@ -666,21 +557,7 @@ Repository → Actions → 워크플로우 선택 → Logs 다운로드
666557
journalctl -u void-be.service -f
667558
```
668559

669-
---
670-
671-
### 긴급 복구
672-
673-
문제 발생 시 이전 버전으로 즉시 롤백:
674-
675-
```bash
676-
# 1. 이전 커밋으로 되돌리기
677-
git revert HEAD
678-
git push origin main
679-
680-
# 2. 자동 재배포 트리거
681-
# (GitHub Actions가 자동으로 처리)
682-
```
683-
560+
=
684561
---
685562

686563
## 📊 성능 최적화
@@ -800,3 +677,4 @@ Title: [FEATURE] Add emotion analysis history
800677

801678

802679

680+

0 commit comments

Comments
 (0)