종식당

CI/CD란 본문

매일메일

CI/CD란

종식당 2025. 5. 9. 15:03
728x90
반응형

CI/CD는 애플리케이션 배포 과정을 자동화하여 더 짧은 주기로 고객에게 서비스를 제공하는 방식이다. 먼저, CI는 Continuous Integration의 약어로 지속적 통합을 의미한다. CD는 Continuous Delivery(지속적 전달) 또는 Continuous Deployment(지속적 배포)를 의미한다.

 

먼저, CI는 개발자들이 코드 변경사항을 주기적으로 메인 브랜치에 병합하는 과정을 자동화한 것이다. 이 과정에서 코드 변경사항이 발생할 때마다 자동으로 빌드와 테스트를 수행하여 문제를 조기에 발견할 수 있다. 예를 들어, 여러 개발자가 함께 작업할 때 한 개발자의 변경사항이 다른 개발자의 작업과 충돌하거나 전체 애플리케이션에 문제를 일으킬 수 있는데, CI를 거치면 이러한 문제를 병합 이전에 미리 파악할 수 있다.

 

CD는 CI이후 단계를 자동화한 것으로, 애플리케이션의 변경사항을 production 환경으로 배포하는 과정을 자동화한 것이다.

Continuous Delivery의 경우, 배포 가능한 상태로 준비하는 과정까지는 자동화하고 실제 배포는 사람의 승인을 거쳐 수동으로 진행한다.

Continuous Deployment는 production환경에 배포하는 과정까지 모두 자동화한다.

 

현업에서는 GitHub Actions, Jenkins, GitLab CI 등의 도구를 사용하여 CI/CD 파이프라인을 구축한다. CI/CD프로세스에 대한 하나의 예시를 들면 다음과 같다.

  1. 개발자가 PR을 올리면 자동으로 테스트/빌드 실행
  2. 테스트/빌드를 성공한 경우 메인 브랜치로의 머지 활성화
  3. 메인 브랜치 머지 시 production 환경으로 자동 배포

728x90
반응형

'매일메일' 카테고리의 다른 글

CQRS 패턴  (0) 2025.05.20
URI, URL, URN의 차이점  (0) 2025.05.13
JWT 특징과 주의 사항  (0) 2025.05.08
Redis가 싱글 스레드로 만들어진 이유  (0) 2025.05.07
TDD 2  (0) 2025.05.01