1️⃣ CI/CD 기본 개념
CI (Continuous Integration, 지속적 통합)
- 개발자가 작성한 코드를 중앙 저장소(Git 등)에 자주 통합
- 자동 빌드 + 테스트를 통해 문제를 조기에 발견
- 목적: 코드 품질 유지, 통합 충돌 방지, 반복 작업 자동화
CD (Continuous Delivery / Continuous Deployment)
- Continuous Delivery: CI 이후 항상 배포 가능한 상태로 유지
- Continuous Deployment: 테스트 후 자동으로 운영 환경에 배포
- 목적: 배포 속도 향상, 사람 개입 최소화, 운영 효율 극대화
2️⃣ CI/CD 파이프라인 구성
- 코드 관리
- Git, SVN 등 버전 관리 시스템 사용
- 브랜치 전략: Git Flow, Feature Branch 등
- 자동 빌드
- Maven, Gradle, npm 등 빌드 도구 사용
- 코드 컴파일, 의존성 관리, 패키징
- 자동 테스트
- 단위 테스트(Unit Test)
- 통합 테스트(Integration Test)
- API 테스트, UI 테스트 등
- 스테이징 배포
- 테스트 환경에 자동 배포
- QA, 성능 테스트, 부하 테스트 수행
- 운영 배포
- 운영 환경에 배포
- 모니터링, 롤백 전략 포함
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 장점
- 품질 향상
- 코드 충돌과 버그를 조기에 발견
- 배포 속도 증가
- 반복적인 배포 과정 자동화
- 운영 안정성
- 테스트 및 모니터링 자동화
- 협업 효율
- 개발팀, 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 |