Skip to content

07 Demo Deployment

hywznn edited this page Jul 21, 2026 · 3 revisions

데모 배포 가이드

원칙

데모도 배포입니다.

시연자 PC에서 LM Studio를 켜두고 호출하는 방식은 최종 데모 구조가 아닙니다. 최종 데모는 팀과 심사자가 접근 가능한 HTTPS 환경에서 PostgreSQL과 외부 LLM API 또는 클라우드 Model Endpoint를 사용합니다.

목표 구조

flowchart LR
  U["시연자 / React Client"] -->|HTTPS| B["Spring Boot Demo"]
  B --> P["PostgreSQL"]
  B --> A["AI Adapter"]
  A --> E["External LLM API / Cloud Endpoint"]
  B --> O["Logs / Health"]
Loading

배포 단위

한 번의 Agent 배포를 다음 값의 조합으로 기록합니다.

  • backend_version
  • agent_version
  • model_provider
  • model_name
  • model_version
  • prompt_version
  • context_pack_version
  • workflow_catalog_version

데모 전에 실제 실행값을 확인할 수 있어야 합니다.

환경변수

이름 목적 저장 위치
SPRING_PROFILES_ACTIVE prod 선택 배포 설정
DATABASE_URL PostgreSQL 연결 Secret
DB_USERNAME / DB_PASSWORD DB 인증 Secret
JWT_SECRET Access/Refresh 서명 Secret
AI_PROVIDER 외부 Provider 선택 배포 설정
AI_BASE_URL Provider Endpoint 설정 또는 Secret
AI_API_KEY 외부 LLM 인증 Secret
AI_MODEL 모델 이름 배포 설정
AGENT_VERSION Agent 배포 버전 배포 설정
PROMPT_VERSION Prompt 버전 배포 설정
CONTEXT_PACK_VERSION Context Pack 버전 배포 설정
WORKFLOW_CATALOG_VERSION Workflow 버전 배포 설정

실제 값은 Wiki, Issue, PR, Docker image에 기록하지 않습니다.

배포 전 체크리스트

코드와 DB

  • main 기준 GitHub Actions 성공
  • Docker image가 Java 17로 정상 기동
  • prod 프로필에서 H2 미사용
  • ddl-auto: validate
  • Flyway migration 적용·롤백 영향 검토
  • Seed에 실제 개인정보 없음

보안

  • HTTPS 적용
  • CORS Origin 최소화
  • JWT·DB·AI Secret 배포 환경에만 저장
  • Swagger 공개 범위 결정
  • 로그의 Authorization, Worker Link URL, 개인정보 확인
  • 공개 링크 만료·폐기 정책 확인

AI

  • 외부 Provider와 모델명 확인
  • LM Studio 종료 상태에서도 정상 작동
  • Timeout, Retry, Rate Limit, 비용 한도 확인
  • JSON Schema 오류가 안전하게 처리됨
  • AiInvocation 버전·latency·오류 저장 확인

관측과 복구

  • liveness 확인
  • readiness가 DB 연결 실패를 반영
  • request_id로 API·AI·Audit 추적 가능
  • 직전 배포 image 식별 가능
  • DB migration 호환 범위 확인
  • 장애 시 외부 AI 기능이 자동 발송으로 이어지지 않음

배포 후 Smoke Test

  1. Health와 readiness 확인
  2. HR 로그인
  3. 근로자 목록 조회
  4. 테스트 근로자 생성 또는 Seed 확인
  5. 복합 요청 분석
  6. 후보 2개와 버전 로그 확인
  7. 한 업무 승인
  8. Worker Link 생성·조회
  9. 근로자 응답 제출
  10. 완료와 AuditLog 확인

정확한 API Payload는 Swagger와 #10 E2E 이슈의 런북을 기준으로 합니다.

데모 당일 런북

시작 30분 전

  • 배포 상태와 DB 연결 확인
  • 외부 LLM 상태·잔여 한도 확인
  • 데모 계정 로그인 확인
  • Seed 근로자와 날짜 확인
  • 기존 Worker Link와 테스트 Token 폐기
  • Golden Scenario 한 번 실행

시연 중

대표 입력을 그대로 사용합니다.

응웬반A 체류연장 준비하고 여권 사본도 요청해줘

강조할 내용:

  1. 단순 번역이 아니라 업무카드 2개로 구조화
  2. 개인정보 최소 Context만 AI에 전달
  3. HR 승인 전 발송 금지
  4. 근로자는 만료 링크에서 제한된 행동만 가능
  5. 전체 과정과 Agent 버전 추적

장애 시

증상 확인 안전한 대체
외부 LLM Timeout AiInvocation request_id, Provider 상태 Fake 결과를 진짜 AI 결과처럼 위장하지 않고 사전 녹화·로그로 구조 설명
JSON 파싱 실패 parsing_error, raw 전문 노출 금지 REVIEW_REQUIRED 처리 화면 설명
DB 연결 실패 readiness, DB 상태 배포 재시작보다 DB·migration 확인 우선
Worker Link 만료 expires_at, revoked_at HR 재발급 절차 시연
권한 오류 역할·company_id 계정 변경 전에 감사 로그 확인

장애 상황에서도 AI 결과를 수동으로 승인된 것처럼 DB에 넣거나 개인정보를 로그로 출력하지 않습니다.

MVP 이후

운영 고도화 시 Agent Router를 추가해 Blue/Green을 분리합니다.

0% → 10% → 50% → 100%

Green은 staging Smoke Evaluation을 통과한 뒤에만 트래픽을 받으며, 문제 발생 시 즉시 Blue로 되돌립니다. MVP에서는 버전 기록과 롤백 가능한 Docker image까지 준비합니다.

관련 이슈

Clone this wiki locally