CI/CD 등장 배경
CI/CD 이전에는 소프트웨어 개발이 워터풀 방법론에 따라 개발되어 개발 기간이 길어 배포 주기도 길다는 특징이 있다.

1. 개발자들은 각 로컬(혹은 브렌치)에서 코드를 작성
2. 각 작업들을 병합(merge)
3. 팀 혹은 관리자를 통해 Build 진행하고 테스트 환경에 배포된 버전으로 테스트 수행
- 개발자는 빌드 서버에서 변경한 내용을 컴파일, 빌드 및 테스트하기 전에 합의된 시간까지 대기 → 개발 속도 저하
- 지연된 시간 만큼 심각한 코드 충돌과 빌드 오류 발생 가능성 → 복구 난이도 높음
4. 검증 완료 시 운영 환경에 배포
- 실패 시 재작업에 따른 각 단계 별 작업 담당자 간 소통 비용 증가
개발 과정 문제를 해결하고 소프트웨어의 품질과 배포 속도를 높이기 위해 CI/CD가 등장했다!
CI = Continuous Integration = 지속적 통합
- CI/CD의 첫 번째 요소
- 단어 의미 그대로 개발자가 변경되거나 새로운 코드를 중앙 저장소에 자주 정기적으로 통합하는 개발 프로세스
+ 자동화된 프로세스(빌드 - 테스트)까지 포함


- CI 주요 요소
- 빈번한 통합
- 자동화된 빌드 및 테스트
- 중앙 저장소
- 피드백
CD= Continuous Delivery / Continuous Deployment = 지속적 전달 / 지속적 배포
- CD는 테스트를 통과한 코드를 배포 가능한 상태로 준비하고 운영 환경까지 자동으로 배포하는 전체 자동화 과정
- 운영까지 자동화된 수준에 따라 Continuous Delivery와 Continuous Deployment로 구분

Continuous Delivery = 지속적 전달
개발자의 애플리케이션 변경 사항이 CI 단계에서 자동화된 빌드 및 테스트를 통과한 검증된 코드가 레포지토리(예: GitHub, 컨테이너 레지스트리)로 자동 업로드되어 “언제든 배포 가능한 상태”가 되도록 만드는 자동화 방식이다.
- 빌드 → 테스트 → 아티팩트 생성 → 리포지토리 업로드까지 자동화
- 운영 배포는 최소 1개의 수동 승인 단계가 존재(배포 리스크 감소)
- 배포 준비 상태를 항상 유지하므로 안정성과 예측 가능성이 높아짐
Continuous Deployment = 지속적 배포
코드 변경 사항이 빌드 및 테스트를 통과하면 자동으로 프로덕션 환경까지 배포되는 완전 자동화 방식으로 Continuous Delivery보다 한 단계 더 성숙한 형태이다
- 빌드 → 테스트 → 스테이징 → 프로덕션 배포까지 완전 자동화
- 사람 개입 없이 모든 변경이 운영 환경까지 자동 배포
- 단, 모니터링 체계가 필수(잘 설계된 CI 의존적)
- CD 주요 요소
- 스테이징 배포(Continuous Delivery)
- 프로덕션 배포(Continuous Deployment)
- 승인/검증 파이프라인
- 롤백 관리
CI/CD = CI + CD
결국 CI/CD는 애자일 개발 방식에서 발전한 소프트웨어 개발 프로세스로, 소프트웨어 변경 사항을 빈번하고 안정적으로 제공할 수 있도록 지원하고 운영 원칙을 포함하는 포괄적인 용어이다.
CI/CD Tool
실무에서는 CI/CD 툴을 구분하지 않는 경우가 대부분이다.
도구유형특징단점가격
| 도구 | 유형 | 특징 | 단점 | 가격 |
| Jenkins | CI/CD | 오픈소스, 플러그인 기반 확장성, 다양한 설정 가능 | 설정 복잡, 관리 부담 | 무료 |
| GitLab CI | CI/CD | GitLab 통합, YAML 기반 설정, 컨테이너 기반 빌드 | GitLab 플랫폼에 종속됨 | 무료/유료 |
| GitHub Actions | CI/CD | GitHub 통합, YAML 기반 설정, 컨테이너 기반 빌드 | GitHub 리포지토리에 의존 |
무료/유료 |
| Argo CD | CD | GitOps 기반, Kubernetes 배포 자동화, 선언적 설정 | Kubernetes 중심으로 제한적 |
무료 |
| Flux | CD | GitOps 기반, Kubernetes 배포 자동화, 선언적 설정, 경량 | Kubernetes 중심으로 제한적 |
무료 |
| CircleCI | CI/CD | 클라우드 기반, 컨테이너 기반 빌드, YAML 기반 설정 | 비용 | 유료 |
| Travis CI | CI/CD | 클라우드 기반, GitHub 통합, YAML 기반 설정, 오픈소스 프로젝트 무료 제공 |
비용 | 유료 |
| AWS CodePipeline |
CI/CD | AWS 클라우드 기반, AWS 서비스 통합, 시각적 워크플로우 구성 |
AWS 의존성 | 유료 |
| Azure DevOps Pipelines |
CI/CD | Azure 클라우드 기반, Azure 서비스 통합, YAML 기반 설정, 다양한 기능 제공 |
AWS 의존성 | 무료/유료 |
| TeamCity | CI/CD | JetBrains 개발, 다양한 기능 제공, 플러그인 기반 확장, 자체 서버 구축 |
비용 | 무료/유료 |
출처
- https://www.redhat.com/ko/topics/devops/what-is-ci-cd
- https://aws.amazon.com/ko/what-is/ci-cd/
- https://www.servicenow.com/kr/products/devops/what-is-cicd.html
- https://circleci.com/ko/ci-cd/
- https://blog.kakaocloud.com/138
- https://www.atlassian.com/ko/continuous-delivery
- https://www.vmware.com/topics/cicd
- https://github.com/resources/articles/ci-cd
- https://www.elancer.co.kr/blog/detail/759
- https://digital.ai/ko/catalyst-blog/building-cicd-pipeline/
- https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/strategy-cicd-litmus/understanding-cicd.html
- https://fastcampus.co.kr/story_article_cicd
- https://www.getguru.com/ko/reference/cicd
- https://www.ibm.com/think/topics/ci-cd-pipeline
- https://www.simform.com/blog/ci-cd-benefits/
- https://semaphore.io/continuous-integration
- https://www.ibm.com/kr-ko/think/topics/continuous-integration
- https://developer.android.com/training/testing/continuous-integration?hl=ko
- https://www.globalapptesting.com/blog/what-is-continuous-integration
- https://semaphore.io/blog/2017/07/27/what-is-the-difference-between-continuous-integration-continuous-deployment-and-continuous-delivery.html
- https://engineer-diarybook.tistory.com/entry/CICD-CI-CD의-기본-개요](https://engineer-diarybook.tistory.com/entry/CICD-CI-CD%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EC%9A%94)
- https://www.geeksforgeeks.org/devops/what-is-ci-cd/
- https://semaphore.io/cicd
- https://tech.ktcloud.com/entry/What-is-DevOps-DevOps-CICD
- https://www.msap.ai/docs/msa-expert-from-concepts-to-practice/implementing-msa/msa-service-development-deployment/ci-cd-pipeline/subsection-8-3-1-ci-cd-tool/
- https://github.com/resources/articles/ci-cd
'IT' 카테고리의 다른 글
| [Web] 현대 웹 서비스의 이해 ~ DevOps ~ (0) | 2025.12.29 |
|---|---|
| [Web] 현대 웹 서비스 구조 ~ 풀스택 개발 ~ (0) | 2025.12.08 |
| [Web] 현대 웹 서비스 구조 ~ 프론트엔드와 백엔드 ~ (0) | 2025.12.03 |