@@ -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 다운로드
666557journalctl -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