CI/CD

KanDohyung·2025년 1월 7일

개념정리

목록 보기
27/28


지속적 통합(Continuous Integration)과 지속적 배포(Continuous Deployment & Delivery)
코드 변경 사항을 빠르게 테스트하고 배포하기 위한 자동화된 프로세스

CI(Continuous integration)

  • 작업한 코드를 주기적으로 통합해 코드 품질을 지속적으로 검증하는 프로세스
  • 주요 요소
    • 코드 병합
      • 작성한 코드를 자주 병합해 충돌을 최소화
      • 자동화된 빌드 및 테스트 실행
    • 자동화된 테스트
      • 단위 테스트, 통합 테스트 등을 통해 코드 품질 보장
    • 빌드 자동화
      • 병합시 빌드(컴파일) 후 문제 확인
  • 장점
    • 충돌을 조기에 발견
    • 변경으로 인한 버그를 신속하게 탐지

CD(Continuoust Delployment & Delivery)

  1. Continuoust Delivery
    • 코드 테스트 후, 운영 환경에 배포할 준비
    • 실제 배포는 수동으로 수행하나, 단계는 자동화되어있음
  2. Continuoust Deployment
    • 테스트를 통과한 코드를 자동으로 운영 환경에 배포함
    • 배포 주기를 짧게 해 사용자에게 빠르게 기능 제공
  • 주요 요소
    • 자동화된 배포
      • 스테이징 환경, 프로덕션 환경으로의 배포 자동화
    • 모니터링
      • 배포 후 앱 상태를 실시간 모니터링
    • 롤백
      • 문제가 발생 시 자동으로 이전 버전으로 복구
  • 장점
    • 사용자에게 빠르게 새로운 기능 제공
    • 배포로 인한 위험 및 비용 감소

CI/CD 주요 단계

코드 커밋 → 빌드 → 테스트 → 배포

0개의 댓글