콘텐츠로 이동

6부. 세상 밖으로 (Deployment & Capstone)

"개발은 배포 전과 배포 후로 나뉩니다. 이제 내 컴퓨터를 넘어 전 세계와 연결될 시간입니다." Firebase와 GitHub Actions를 활용하여 24시간 중단 없는 AI 수강신청 시스템을 구축하고 운영하는 전 과정을 마스터합니다.


🏫 Visible Thinking: 개발의 여정

graph TD
    subgraph "Phase 1. 설계 및 로컬 개발"
    Me["👨💻 나 + 🤖 AI"] -->|Coding| Local["🏠 Emulator (Localhost)"]
    Local -->|Verify| Git["🐙 GitHub (develop)"]
    end

    subgraph "Phase 2. 자동 배포 파이프라인"
    Git -->|Merge| Actions["⚙️ GitHub Actions"]
    Actions -->|Auto Deploy| Cloud["☁️ Firebase Cloud"]
    end

    subgraph "Phase 3. 세상 밖으로"
    Cloud -->|Hosting| Web["🌐 Frontend (React)"]
    Cloud -->|Functions| API["⚡ Backend (FastAPI)"]
    Web & API -->|Service| World["🌍 전 세계 사용자"]
    end

    style Cloud fill:#f9f,stroke:#333,stroke-width:2px
    style Actions fill:#bbf,stroke:#333,stroke-width:2px

📋 목차

01. 클라우드에 내 집 마련하기 (Setup & Init)

"로컬 환경을 넘어, 전 세계에서 접속 가능한 나만의 시스템 환경을 구축합니다."

  • Environment: Node.js, Python, Firebase CLI 개발 환경 조성.
  • Project Init: Functions(Python)와 Hosting(React)의 공생 구조 설계.
  • Git Strategy: 안정적인 배포를 위한 develop - main 브랜치 전략.

02. 똑똑한 백엔드 창고 만들기 (FastAPI & DB)

"Serverless 환경에서도 우리는 강력한 Python 백엔드를 가질 수 있습니다."

  • FastAPI Integration: Serverless 환경에서 Python 백엔드를 운영하는 비법(ASGI).
  • Firestore Design: 수강신청 데이터를 위한 NoSQL 모델링과 시드 데이터 주입.
  • CORS & Safety: 외부의 무단 호출을 막는 최소한의 보안 울타리 치기.

03. 문지기 세우기와 첫 인사 (Auth & MVP)

"단 한 명의 유효한 사용자만 있다면, 그것은 이미 서비스입니다."

  • Firebase Auth: "구글 로그인"으로 1초 만에 회원가입 구현하기.
  • First Ship: 아무 기능 없어도 괜찮아! 전 세계에서 접속 가능한 내 URL 확인.
  • Security: 배포된 사이트에서만 로그인이 작동하도록 승인된 도메인 설정.

04. 내 컴퓨터 안의 가상 서버 (Emulator & TDD)

"배포는 짜릿하지만 위험합니다. 내 컴퓨터에서 먼저 완벽하게 검토하세요."

  • Local Emulator: 배포 전, 내 컴퓨터에서 프론트-백-DB를 완벽하게 돌려보기.
  • Test Driven: "코드보다 테스트가 먼저!" AI를 활용한 Pytest 자동화.
  • Debugging: 에뮬레이터 UI를 통해 데이터 흐름을 눈으로 직접 확인하기.

05. 24시간 일하는 배포 비서 (CI/CD)

"반복적인 배포 작업은 비서(GitHub Actions)에게 맡기고 우리는 코드에 집중합시다."

  • GitHub Actions: 코드만 Push하면 빌드부터 배포까지 자동으로 처리하기.
  • Secrets: API Key와 인증 정보를 GitHub에 안전하게 숨기는 법.
  • Automation: 프론트엔드와 백엔드의 동시 자동 배포 워크플로우 완성.

06. [종합] AI 수강신청 에이전트 완성 (Capstone)

"기획부터 배포까지, AI와 함께 만든 '진짜 결과물'을 세상에 선보입니다."

  • AI Agent: Gemini를 연동하여 "대화로 신청하는" 인터페이스 완성.
  • Admin Dashboard: 관리자 전용 메뉴와 권한 분리(RBAC) 실습.
  • Launch: 실제 사용자를 초대할 수 있는 '완성된 서비스' 런칭쇼.

📚 부록 (Appendix)


📋 6부 핵심 성과물 (Deliverables)

단계 산출물 평가 포인트
준비 Firebase Project 로컬과 클라우드 환경이 완벽하게 동기화되었는가?
개발 FastAPI + React App 서버리스 환경에서 프론트와 백엔드가 원활히 통신하는가?
배포 CI/CD Pipeline 코드 수정 시 자동으로 빌드 및 배포가 이루어지는가?
최종 AI Agent Service 사용자가 대화를 통해 수강신청을 완료할 수 있는가?

🎯 6부 마무리

"여러분의 첫 번째 URL이 생기는 날입니다. 이제 '내 컴퓨터에서만 돼요'라는 핑계는 끝났습니다. 세상이 여러분의 코드를 사용할 차례입니다."