핵심 인사이트 (3줄 요약)

  1. 본질: CI/CD는 코드 변경 시 **빌드·테스트를 자동 실행(CI: Continuous Integration)**하고, 검증된 코드를 **스테이징·프로덕션에 자동 배포(CD: Continuous Delivery/Deployment)**하는 소프트웨어 엔지니어링의 핵심 자동화 체계다.
  2. 가치: 수동 빌드·배포는 인적 오류·시간 낭비·릴리스 공포(Fear of Release)를 유발하지만, CI/CD 파이프라인은 커밋→빌드→테스트→배포를 30분 이내에 자동 완료하여 DORA 지표(배포 빈도·리드 타임)를 극적으로 개선한다.
  3. 판단 포인트: CI(통합) vs CD-Delivery(수동 승인 후 배포) vs CD-Deployment(완전 자동 배포)를 구분하고, 트렁크 기반 개발(Trunk-Based Dev) + 피처 플래그 조합이 Elite 팀의 표준이다.

Ⅰ. 개요 및 필요성

┌───────────────────────────────────────────────────────┐
│    CI/CD 파이프라인 단계                              │
├───────────────────────────────────────────────────────┤
│  [CI — Continuous Integration]                        │
│   커밋 → 빌드 → 단위 테스트 → 통합 테스트           │
│   → 코드 품질 검증 (린트·커버리지)                    │
│                                                       │
│  [CD — Continuous Delivery]                           │
│   CI 통과 → 스테이징 배포 → QA → 수동 승인 → Prod   │
│                                                       │
│  [CD — Continuous Deployment]                         │
│   CI 통과 → 자동 Prod 배포 (승인 없음)               │
└───────────────────────────────────────────────────────┘
  • 📢 섹션 요약 비유: CI는 공장 조립 라인의 품질 검사(불량 자동 탐지)이고, CD는 검사 통과한 제품을 매장(프로덕션)에 자동 진열하는 것이다.

Ⅱ. 아키텍처 및 핵심 원리

CI vs CD 비교

구분CICD (Delivery)CD (Deployment)
자동화빌드·테스트+ 스테이징 배포+ 프로덕션 배포
승인자동수동 승인자동
위험낮음중간높음 (자동 배포)

파이프라인 도구

도구특징
GitHub ActionsGitHub 내장, YAML 정의
GitLab CIGitLab 내장, .gitlab-ci.yml
Jenkins오픈소스, 플러그인 생태계
ArgoCDK8s GitOps CD
  • 📢 섹션 요약 비유: CI/CD 도구는 자동차 공장의 로봇 팔이다. 사람 없이 용접(빌드)→검사(테스트)→출고(배포)를 자동으로 한다.

Ⅲ. 비교 및 연결

비교수동 배포CI만CI/CD
배포 빈도월 1회주 1회하루 여러 번
리드 타임주~월시간
인적 오류빈번줄어듦최소

Ⅳ. 실무 적용 및 기술사 판단

파이프라인 설계 Best Practice

  1. 빠른 피드백: 단위 테스트 먼저, 느린 E2E 테스트는 나중에.
  2. 피처 플래그: 불완전 기능도 main에 머지 → 플래그로 숨김.
  3. 트렁크 기반: 장기 브랜치 금지 → 머지 충돌 최소화.

Ⅴ. 기대효과 및 결론

지표수동CI/CD개선
배포 빈도월 1회하루 N회30×
리드 타임수 주수 시간100×
변경 실패율높음낮음테스트 자동화

CI/CD는 현대 소프트웨어 개발의 기본 인프라이며, GitOps·Progressive Delivery·AIOps와 결합하여 지속 진화하고 있다.


📌 관련 개념 맵

개념연결 포인트
CI지속적 통합 (빌드+테스트 자동화)
CD지속적 전달/배포
GitOpsCD의 선언적 구현
트렁크 기반 개발CI 최적화 브랜치 전략
DORA MetricsCI/CD 성과 측정 지표

📈 관련 키워드 및 발전 흐름도

[수동 빌드·배포 (2000s)]
    │
    ▼
[CI 서버 (Jenkins, 2004~) — 자동 빌드·테스트]
    │
    ▼
[CD (Docker+K8s, 2014~) — 자동 배포 파이프라인]
    │
    ▼
[GitOps (2017~) — 선언적 CD (ArgoCD/Flux)]
    │
    ▼
[현재: Progressive Delivery + AIOps — AI 기반 배포 판단]

👶 어린이를 위한 3줄 비유 설명

  1. CI/CD는 공장의 자동 조립 라인이에요. 재료(코드)를 넣으면 검사(테스트)하고 완제품(배포)이 나와요.
  2. 불량품(버그)이 발견되면 즉시 라인이 멈추고 알려줘요.
  3. 덕분에 하루에 여러 번 새 제품(기능)을 안전하게 출시할 수 있답니다!