CI/CD(Continuous Integration/Continuous Deployment)는 소프트웨어 개발 생명주기(SDLC) 전반에서 코드 푸시, 테스트, 분석, 빌드, 배포 과정을 자동화하는 파이프라인이다. 개발자가 작성한 코드가 안정적으로 사용자에게 전달될 수 있도록 하는 기술적 방어선이자 엔진 역할을 한다.
2. 주요 구성 요소
지속적 통합 (CI): 새로운 코드가 병합될 때마다 자동 테스트 및 린팅을 수행하여 메인 브랜치의 안정성을 유지.
지속적 배포 (CD): 테스트를 통과한 코드를 실제 운영 환경에 자동으로 배포하거나 배포 준비 상태로 유지.
품질 게이트 (Quality Gates): SAST, SCA 등의 보안/품질 분석 도구를 통합하여 기준 미달 코드의 병합을 자동 차단.
GitOps: Git 리포지토리를 인프라와 배포의 단일 진실의 원천(Source of Truth)으로 삼는 오케스트레이션 방식.
3. 아키텍처적 가치
MSA 연동: 각 서비스별 독립 파이프라인을 구축하여 모놀리스 대비 높은 배포 민첩성 확보.
클라우드 네이티브: 컨테이너 및 서버리스 환경과 결합하여 자동 확장 및 복원력 있는 시스템 운영 지원.
보안 강화 (DevSecOps): 코드 병합 이전에 취약점 스캔을 자동화하여 보안 위협의 Shift-Left(초기화) 실현.
4. 트레이드오프 및 주의사항
장점: 개발 속도 향상, 회귀 버그 조기 발견, 배포 스트레스 감소.
단점: 파이프라인 구축 및 유지보수 비용, 무거운 분석 도구 도입 시 빌드 시간 증가(CI 속도 저하), 오탐(False Positive)으로 인한 개발 병목 현상.