클라우드 빅뱅배포결과 - 100-hours-a-week/16-Hot6-wiki GitHub Wiki

아래는 위 문서를 기반으로 한 빅뱅 배포 결과 보고서입니다. 운영 환경에 실제 반영한 배포 결과, 문제점, 개선 제안까지 간결하게 정리했습니다.

📝 Big Bang 배포 결과 보고서

일시: 2025.05.14

배포 대상: FE(React), BE(Spring Boot), AI(FastAPI)

배포 방식: 단일 인스턴스 수작업 Big Bang 배포


1. 배포 개요

alt text

  • 배포 방식: SSH 수작업 접속 → github에서 코드를 pull 후 각 디렉토리별 배포 스크립트를 실행.

  • 운영 환경: GCP VM (t2.small), 단일 인스턴스 운영, vpc peering으로 GPU 서버 분리.

  • 배포 대상:

    • FE: React + Vite → npm run build/var/www/onthetop 복사
    • BE: Spring Boot JAR → ./gradlew build, nohup java -jar
    • AI: FastAPI → Python venv + uvicorn 실행
  • 배포 시나리오: FE → BE → AI 순서 배포


2. 배포 과정 요약

항목 내용
코드 Pull 각 프로젝트 디렉토리에서 git pull origin main 수행
환경 구성 .env 복사, 의존성 설치 (npm install, pip install)
빌드 수행 프론트: npm run build, 백엔드: ./gradlew build
실행 방식 nohup + pkill로 백그라운드 실행
배포 시간 약 10~15분 소요 (전체 수작업 포함)

3. 확인 결과

alt text

항목 결과 비고
서비스 정상 작동 여부 배포 후 전체 기능 정상 작동 확인
API 연결 테스트 FE → BE/API 요청 문제 없음
로그 확인 app.log, ai.log 정상 출력
포트 충돌 여부 3000, 8000, 8080 각각 정상 사용
외부 접근 테스트 도메인별 정상 접근 가능 (SSL 포함)

4. 배포 중 발생 이슈

유형 내용 조치
메모리 부족 next build 중 OOM 발생 swap 메모리 설정, 메모리 추가
수작업 누락 .env 복사 누락 경험 있음 체크리스트 활용으로 이후 방지
경로 오류 백엔드 JAR 경로 오타 발생 배포 스크립트 수정 및 검증 강화
일시적 중단 BE 재시작 시 API 10초 중단 구조상 어쩔 수 없는 문제로 확인됨

5. 문제점 및 개선 방향

문제 설명 개선 방안
OOM 이슈 빌드시 메모리 부족 → 프로세스 종료 CI 빌드 분리 (GitHub Actions)
무중단 불가 pkill 방식 배포로 사용자 응답 중단 발생 Blue/Green 배포 구조 전환 고려
휴먼 에러 수동 경로/설정 오류 발생 가능성 자동화 및 체크리스트 강화
롤백 불가 실패 시 빠른 복구 경로 없음 빌드 백업 + 롤백 스크립트 도입 필요
이력 추적 불가 누가, 언제, 무엇을 배포했는지 추적 어려움 배포 로그 기록 자동화 필요

6. 향후 전환 계획

단계 설명 상태
CI 파이프라인 도입 GitHub Actions에서 사전 빌드 🟡 준비 중
CD 자동화 EC2로 결과물 전달 및 실행 자동화 🟡 준비 중
무중단 배포 도입 Blue/Green, Load Balancer 활용 장기 계획

결론

Big Bang 배포는 MVP 초기 단계에서 빠르게 운영 환경을 구성하고, 실제 사용자 피드백을 받을 수 있는 효과적인 전략이었음. 그러나 운영 안정성 및 반복 가능성 측면에서 CI/CD 기반 자동화로의 전환이 필수적임인 것을 확인하였습니다.

다음 단계에서는 빌드/배포 분리 및 GitHub Actions 기반 CI/CD 체계 전환을 목표로 계획을 수립 중입니다.