본문 바로가기

CS & ITS

[Network/Topic] CI/CD 간단 정리

CI/CD

애플리케이션의 개발에서 보다 빠르고 짧은 주기로 애플리케이션을 배포하는 것은 중요합니다. Continuous Integration(CI) 및 Continuous Delivery or Deployment(CD)는 지속적인 통합과 지속적인 배포를 뜻합니다. 프로젝트의 규모가 커지면 자연스럽게 CI/CD의 구축이 필요해집니다. CI/CD는 하나의 자동화된 파이프라인이라고 볼 수 있습니다. 빌드, 테스트, 릴리즈, 실행과 같은 일련의 공정들을 담당자가 매번 손으로 진행하는 것은 상상하기 어렵기 때문입니다.

Continuous Integration(CI)

CI를 구현하면 새로운 코드가 정기적으로 빌드 및 테스트 후 Repository에 통합 될 수 있습니다. 통합 과정에서는 여러 작업자의 변경된 코드에 대한 충돌 문제를 해결 할 수 있어야 합니다. CI는 일반적으로 빌드, 테스트, 통합 등의 과정을 거치게 됩니다.

Continuous Delivery or Deployment(CD)

CI가 선행되어야 진행 할 수 있습니다. CI를 통과한 애플리케이션이 테스트 또는 프로덕션 환경에 배포 될 수 있기 때문입니다. 배포된 애플리케이션은 자동으로 실행되고, 지속적으로 모니터링 될 수 있어야 합니다. CD는 일반적으로 릴리즈 및 배포, 실행, 모니터링 등의 과정을 거치게 됩니다.

솔루션 활용

일반적인 기업체에서는 이미 프로젝트 단위로 CI/CD 파이프라인이 구축되어 있습니다. 만약 새로운 프로젝트의 시작과 함께 새로운 파이프라인을 구축해야 한다면 Jenkins, CircleCI, Travis, GoCD와 같은 솔루션을 이용 할 수 있습니다.