DevOps

[CI/CD] 파이프라인 구성

cumo 2025. 4. 16. 09:36

CI/CDI 파이프라인 개념 및 구축 가이드

현대 소프트웨어 개발 환경에서는 빠르고 안정적인 배포가 핵심이다. 이를 위해 CI/CD, 그리고 최근 들어 주목받는 **CDI(Continuous Deployment Integration)**까지 통합된 파이프라인 설계가 중요하다. 이 글에서는 CI/CD/CDI의 정의, 구성 요소, 구축 시 체크리스트, 그리고 실무 예제를 다룬다.

 

1. CI/CD/CDI란 무엇인가?


CI (Continuous Integration) 개발자가 코드를 지속적으로 통합하는 프로세스. 주로 테스트 자동화와 정적 분석 포함
CD (Continuous Delivery) CI 이후의 결과물을 스테이징 환경까지 자동 배포하는 단계
CDI (Continuous Deployment Integration) 최종 승인 없이 자동으로 운영 환경까지 배포되는 완전 자동화 프로세스

 

2. 파이프라인 구성 요소

 

CI/CD/CDI 파이프라인은 아래와 같은 단계로 구성된다.

  1. 코드 커밋 (GitHub, GitLab 등)
  2. 빌드 자동화 (Maven, Gradle, npm 등)
  3. 테스트 자동화 (Jest, JUnit, Pytest 등)
  4. 보안 검사 (Snyk, Trivy, SonarQube 등)
  5. 이미지 빌드 및 푸시 (Docker + Container Registry)
  6. 배포 자동화 (Argo CD, Flux, Jenkins, GitHub Actions 등)
  7. 모니터링 & 롤백 (Prometheus, Grafana, Sentry, Rollbar)

3. 보안 및 운영 체크리스트


Secret 관리 GitHub Secrets, Vault, Sealed Secrets 사용
Rollback 전략 Helm revision rollback 또는 Argo CD 자동 되돌리기 기능 활용
테스트 최소 단위 테스트 + 통합 테스트 병행
리소스 격리 dev, staging, prod 네임스페이스 분리
모니터링 Prometheus + Alertmanager + Grafana 연동
로그 수집 Loki 또는 ELK Stack 구축 권장

4. 기술 용어 정리 

GitOps Git을 **단일 소스 오브 트루스(Single Source of Truth)**로 사용해, 쿠버네티스 클러스터 상태를 선언적으로 관리하는 방식. Git에 커밋된 설정을 기반으로 배포를 자동화한다.
Argo CD GitOps 방식을 실현하는 대표적인 쿠버네티스 배포 도구. Git의 상태와 클러스터 상태를 비교하여 자동 동기화(sync) 수행. Helm, Kustomize 등과 호환됨.
Helm 쿠버네티스 애플리케이션을 Chart라는 패키지 형태로 관리하는 도구. 복잡한 리소스 배포를 간결하게 템플릿화할 수 있다.
Workflow Trigger GitHub Actions 또는 Jenkins 등에서 파이프라인 실행을 유발하는 이벤트. 예: on: push, on: pull_request, on: schedule 등이 있다.
Jenkins 가장 널리 사용되는 오픈소스 CI/CD 서버. 플러그인이 풍부하고, 파이프라인 스크립트(Jenkinsfile) 기반으로 유연한 워크플로우 작성 가능.
Bamboo Atlassian에서 제공하는 CI/CD 도구. JIRA 및 Bitbucket과의 통합성이 뛰어나며 엔터프라이즈에 적합.
TeamCity JetBrains에서 만든 CI 도구. IntelliJ 연동성과 다양한 언어 지원이 강점이며, UI 기반 설정과 고급 캐싱 기능을 제공.
GitHub Actions GitHub에 내장된 CI/CD 기능. YAML 기반의 워크플로우 구성으로 빌드, 테스트, 배포까지 자동화. GitHub 환경에 최적화되어 있으며 오픈소스에 무료 제공.