Skip to content

[STORY] CI/CD 파이프라인 구축 #54

@DDINGJOO

Description

@DDINGJOO

배경

현재 배포가 수동으로 이루어지고 있어 배포 시간이 길고 휴먼 에러 가능성이 있습니다. 자동화된 CI/CD 파이프라인을 구축하여 빠르고 안정적인 배포를 실현해야 합니다.

수용 기준(AC)

  • GitHub Actions 워크플로우 작성 (또는 Jenkins 파이프라인)
  • CI 단계 구성
    • 코드 체크아웃
    • Gradle 빌드
    • 단위 테스트 실행
    • 테스트 커버리지 검증 (80% 이상)
    • 린트 및 정적 분석 (선택)
  • CD 단계 구성
    • Docker 이미지 빌드
    • Docker Hub 또는 레지스트리에 푸시
    • 배포 스크립트 실행 (SSH, Docker Compose)
  • 환경별 배포 전략 (dev, staging, prod)
  • 배포 알림 (Slack, Email)
  • Rollback 전략 수립
  • 파이프라인 실행 로그 및 모니터링

디자인/계약 링크

구현 메모/리스크

구현 순서:

  1. .github/workflows/ci-cd.yml 파일 작성
  2. CI 단계 구현
  3. CD 단계 구현
  4. 환경 변수 및 시크릿 설정 (GitHub Secrets)
  5. 배포 스크립트 작성
  6. 파이프라인 테스트
  7. 알림 설정

워크플로우 트리거:

  • Push to main: CI + CD (prod)
  • Push to develop: CI + CD (dev)
  • Pull Request: CI only

배포 전략:

  • Blue-Green Deployment (또는 Rolling Update)
  • 헬스체크 후 트래픽 전환
  • 실패 시 자동 롤백

리스크:

  • Docker 이미지 빌드 시간 증가 (캐싱 활용)
  • 배포 중 다운타임 발생 가능 (Blue-Green으로 해결)
  • 환경 변수 관리 복잡도 증가

보안:

  • GitHub Secrets로 민감 정보 관리
  • Docker 레지스트리 접근 권한 관리
  • SSH Key 안전 관리

연결된 Epic

#51

Metadata

Metadata

Assignees

No one assigned

    Labels

    story사용자 시나리오와 수용 기준

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions