CI/CD
2025. 8. 21. 15:33

1️⃣ CI/CD 기본 개념

CI (Continuous Integration, 지속적 통합)

  • 개발자가 작성한 코드를 중앙 저장소(Git 등)에 자주 통합
  • 자동 빌드 + 테스트를 통해 문제를 조기에 발견
  • 목적: 코드 품질 유지, 통합 충돌 방지, 반복 작업 자동화

CD (Continuous Delivery / Continuous Deployment)

  • Continuous Delivery: CI 이후 항상 배포 가능한 상태로 유지
  • Continuous Deployment: 테스트 후 자동으로 운영 환경에 배포
  • 목적: 배포 속도 향상, 사람 개입 최소화, 운영 효율 극대화

2️⃣ CI/CD 파이프라인 구성

  1. 코드 관리
    • Git, SVN 등 버전 관리 시스템 사용
    • 브랜치 전략: Git Flow, Feature Branch 등
  2. 자동 빌드
    • Maven, Gradle, npm 등 빌드 도구 사용
    • 코드 컴파일, 의존성 관리, 패키징
  3. 자동 테스트
    • 단위 테스트(Unit Test)
    • 통합 테스트(Integration Test)
    • API 테스트, UI 테스트 등
  4. 스테이징 배포
    • 테스트 환경에 자동 배포
    • QA, 성능 테스트, 부하 테스트 수행
  5. 운영 배포
    • 운영 환경에 배포
    • 모니터링, 롤백 전략 포함

3️⃣ CI/CD 도구 생태계

단계 대표 도구 설명
코드 관리 Git, SVN 버전 관리, 브랜치 관리
빌드 Maven, Gradle, npm 자동 빌드, 패키징
CI 서버 Jenkins, GitLab CI, GitHub Actions, CircleCI 자동화 파이프라인 관리
테스트 JUnit, Selenium, Postman 유닛, 통합, API 테스트
배포 Docker, Kubernetes, Ansible, Helm 컨테이너화, 자동 배포, 인프라 관리
모니터링 Prometheus, Grafana 배포 후 상태, 성능 모니터링

 

4️⃣ CI/CD 장점

  1. 품질 향상
    • 코드 충돌과 버그를 조기에 발견
  2. 배포 속도 증가
    • 반복적인 배포 과정 자동화
  3. 운영 안정성
    • 테스트 및 모니터링 자동화
  4. 협업 효율
    • 개발팀, QA팀, 운영팀 간 원활한 협업

'Cloud' 카테고리의 다른 글

MSP & CSP  (0) 2025.09.04
Zoomoney 프로젝트를 Cloud 환경에서 한다면?  (0) 2025.06.11
MSA란?  (0) 2025.05.22
클라우드 기초 개념  (0) 2025.05.21
Zoomoney 프로젝트 Prometheus 와 Grafana 연동  (0) 2025.04.23