📌 CI/CD란 무엇인가요? 쉽게 설명해드립니다!
CI/CD는 개발자가 코드를 더 빠르고 안정적으로 배포하기 위해 사용하는 핵심 자동화 시스템입니다.
🚀 CI/CD란 무엇인가?
🛠️ CI: Continuous Integration (지속적인 통합)
- 여러 개발자의 코드를 자주(하루에도 여러 번) 통합
- 코드를 합치는 즉시 자동 테스트 및 빌드 수행
- 코드 충돌, 오류, 버그를 미리 발견 가능
💡 비유:
여러 명이 같은 문서를 동시에 편집할 때, 실시간 맞춤법 검사기와 자동 저장 기능이 있는 협업 툴과 비슷합니다.
🚚 CD: Continuous Delivery / Deployment (지속적인 배포 / 전달)
용어 의미 차이점
Delivery | 배포 가능한 상태까지 자동화 | 사용자가 버튼 클릭 필요 |
Deployment | 테스트 완료 후 실제 서버에 자동 배포 | 완전 자동으로 서버에 반영 |
💡 비유:
- Delivery: 택배가 문 앞까지 옴 (직접 열어야 함)
- Deployment: 택배가 문도 열고 거실까지 자동으로 들어옴
🔁 전체 흐름 요약
1. 개발자가 GitHub에 코드 push
↓
2. CI 도구가 자동으로 테스트, 빌드 실행
↓
3. 테스트 통과 시 → CD 단계 실행
- Delivery: 릴리즈 준비 완료
- Deployment: 실제 서버에 자동 반영
🧩 어떤 도구들이 사용될까요?
목적 대표 도구들
CI/CD 자동화 플랫폼 | GitHub Actions, GitLab CI, Jenkins 등 |
테스트 도구 | PyTest, JUnit, Jest 등 |
빌드 도구 | Docker, Webpack, Maven 등 |
배포 도구 | AWS CodeDeploy, Netlify, Vercel 등 |
✅ CI/CD 도입의 장점은?
항목 효과
🚀 빠른 배포 | 수동 배포보다 빠르고 정확 |
🔍 에러 조기 발견 | 코드 푸시 시마다 테스트 자동 수행 |
🔁 반복 작업 자동화 | 테스트/배포 작업을 사람이 직접 하지 않아도 됨 |
👥 협업 효율 향상 | 여러 명이 동시에 작업해도 충돌 최소화 가능 |
📦 예시로 이해하기: 블로그 앱이라면?
- 코드를 GitHub에 push 하면?
- GitHub Actions가 자동으로 테스트 & 빌드
- 문제가 없으면 서버에 자동 반영 (Vercel, AWS, Render 등)
✅ 마무리 요약
구분 설명
CI | 자주 코드를 합치고 자동 테스트 수행 |
CD | 배포 가능한 상태 또는 실제 배포까지 자동화 |
핵심 | 빠르고 안정적인 코드 전달을 위한 자동화 파이프라인 |
💡 TIP: Django, Flask 같은 프로젝트에서도 쉽게 CI/CD 도입 가능! 필요 시 설정 예시도 알려드릴게요 :)
'기술블로그-Django편' 카테고리의 다른 글
📌 Django ORM 완전정복: 개념부터 예시, 흐름까지 한 번에 정리! (0) | 2025.05.08 |
---|---|
📌 Django DeleteView의 확인 화면 제거 vs JS confirm() 비교 가이드 (0) | 2025.05.08 |
📌 Django에서 누락된 category 필드 일괄 업데이트하기 (default 적용) (0) | 2025.05.08 |
📌 Django 템플릿과 View에서 권한 분기 처리 완전 정복 (0) | 2025.05.08 |
📌 Django 템플릿에서 FBV / CBV 네임스페이스에 따라 분기 처리하는 방법 (0) | 2025.05.08 |