CI/CD
CI/CD(Continuous Integration / Continuous Delivery or Continuous Deployment)는 소프트웨어 개발과 운영 과정에서 코드 통합, 빌드, 테스트, 배포를 자동화하여 개발 속도와 품질을 높이는 DevOps 핵심 프로세스다.
CI/CD는 반복적인 작업을 자동화하고, 오류를 조기에 발견하며, 안정적인 배포 환경을 제공하는 것을 목표로 한다.
주요 특징
- Continuous Integration (CI): 개발자가 코드를 자주 통합하고 자동 빌드/테스트 수행.
- Continuous Delivery (CD): CI 후, 검증된 코드를 스테이징 환경까지 자동 배포.
- Continuous Deployment (CD): 검증된 코드를 프로덕션 환경까지 자동 배포.
- 자동화 파이프라인: 코드 커밋 → 빌드 → 테스트 → 배포까지 자동화.
- 버전 관리 연계: Git과 같은 버전 관리 시스템과 연동하여 개발 흐름 통합.
- 피드백 루프 제공: 테스트 결과와 배포 상태를 팀에 신속하게 공유.
장점
- 개발 효율성 향상: 반복 작업 최소화, 코드 변경 시 신속한 통합.
- 품질 개선: 자동화된 테스트로 버그 조기 발견.
- 배포 안정성: 스테이징/프로덕션 환경으로의 안전한 배포 보장.
- 협업 강화: 개발·테스트·운영팀 간 투명한 파이프라인 공유.
- 빠른 릴리스: 릴리스 주기 단축, 새로운 기능 신속하게 배포.
관련 용어
- Pipeline: CI/CD 과정에서 빌드, 테스트, 배포 단계 정의.
- Build: 소스 코드를 실행 가능한 형태로 변환하는 과정.
- Test: 단위 테스트, 통합 테스트 등 코드 검증 과정.
- Deploy: 애플리케이션을 스테이징 또는 프로덕션 환경에 배포.
- Artifact: 빌드 결과물 (예: 실행 파일, Docker 이미지).
- Rollback: 배포 실패 시 이전 안정 버전으로 되돌리는 과정.
- DevOps: 개발과 운영을 통합하여 자동화와 협업을 강조하는 문화/방법론.
주요 솔루션 및 사용 사례
- 주요 솔루션
- Jenkins: 오픈소스 CI/CD 자동화 서버.
- GitLab CI/CD: GitLab과 통합된 파이프라인 자동화 솔루션.
- GitHub Actions: GitHub 저장소 기반 CI/CD 워크플로우.
- CircleCI / Travis CI: 클라우드 기반 CI/CD 서비스.
- Argo CD: Kubernetes 환경에 특화된 GitOps 배포 도구.
- 사용 사례
- 자동 빌드 및 테스트: 코드 커밋 시 자동 빌드와 테스트 수행.
- 스테이징 배포: 검증된 코드를 스테이징 환경에 자동 배포.
- 프로덕션 배포 자동화: 안정성 검증 후 프로덕션 환경에 배포.
- 버전 관리 및 릴리스 관리: Git 브랜치 전략과 연계한 릴리스 자동화.
- 컨테이너 기반 배포: Docker, Kubernetes 환경에서 이미지 빌드 및 배포 자동화.










