ci cd

heeyoung_1023·2026년 3월 6일

CI(Continuous Integration, 지속적 통합)는 개발자들이 코드 변경 사항을 자주(보통 하루에 여러 번) 공유 저장소에 병합하는 개발 방식이에요.

핵심 개념

코드를 push할 때마다 자동으로:
1. 빌드 — 코드를 컴파일/번들링
2. 테스트 — 자동화된 테스트 실행
3. 결과 알림 — 성공/실패 여부 통보

왜 쓰나요?

  • 버그를 일찍 발견할 수 있음
  • 여러 명이 작업해도 코드 충돌을 빠르게 감지
  • 수동 작업 없이 품질 검증 자동화

대표적인 CI 도구

도구특징
GitHub ActionsGitHub와 통합, 무료 플랜 있음
Jenkins오픈소스, 자체 서버 운영
GitLab CIGitLab 내장
CircleCI클라우드 기반

관련 개념

  • CD (Continuous Delivery/Deployment): CI 이후 자동 배포까지 포함
  • CI/CD: 둘을 합친 파이프라인을 보통 이렇게 부름

쉽게 말하면, "코드 합칠 때마다 자동으로 테스트해주는 시스템" 이에요.

CD는 CI 다음 단계로, 두 가지 의미가 있어요.

CD의 두 가지 뜻

1. Continuous Delivery (지속적 제공)

테스트를 통과한 코드를 언제든 배포 가능한 상태로 자동 준비해두는 것.
배포는 사람이 수동으로 승인 후 진행해요.

2. Continuous Deployment (지속적 배포)

테스트를 통과하면 사람 개입 없이 자동으로 실서버에 배포되는 것.

한눈에 비교

코드 push
   ↓
[CI] 빌드 + 테스트 자동화
   ↓
[Continuous Delivery]  → 배포 준비 완료 → 👤 사람이 승인 → 배포
[Continuous Deployment] → 자동으로 바로 배포 🚀

CI/CD 전체 흐름

단계역할
CI코드 합치고 테스트
CD (Delivery)배포 가능 상태로 패키징
CD (Deployment)실서버에 자동 배포

실무에서는?

  • 작은 팀/스타트업 → Continuous Deployment (빠른 출시)
  • 금융/의료 등 민감한 서비스 → Continuous Delivery (사람이 최종 확인)

CI가 "자동 검증" 이라면, CD는 "자동 배포" 라고 보면 돼요! 😊

profile
개발언어를 배우는 과정 기록

0개의 댓글