CI-CD 개념

CI/CD

코드 변경을 자동으로 빌드·테스트·배포하여 릴리즈 주기를 단축하는 개발 파이프라인

CI (Continuous Integration, 지속적 통합)

CD (지속적 제공 / 배포)

구분 Continuous Delivery (지속적 제공) Continuous Deployment (지속적 배포)
배포 승인 수동 (담당자 승인 후 배포) 완전 자동 (승인 없이 자동 배포)
특징 언제든 배포 가능한 상태 유지 테스트 통과 시 즉시 프로덕션 반영

배포 파이프라인 흐름

코드 Push → CI 빌드/테스트 → 아티팩트 생성 → (스테이징 배포) → [승인] → 프로덕션 배포

주요 도구

도구 특징
GitHub Actions GitHub 저장소와 통합, YAML 워크플로우
Jenkins 오픈소스, 플러그인 생태계 풍부, 자체 서버 필요
GitLab CI GitLab 내장, Runner 기반

면접 포인트

관련 개념