CI/CD

조향래·2022년 8월 26일
0
post-custom-banner

CI

CI는 지속적 통합이라는 뜻으로 개발을 진행하면서도 품질을 관리할 수 있도록 하는 것으로 여러 명이 하나의 코드에 대해서 수정을 진행해도 지속적으로 통합하면서 관리할 수 있음을 의미한다.
CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있다.

CI의 간단한 순서는 아래와 같다.

  • 개발자가 구현한 코드를 기존 코드와 병합한다.
  • 병합된 코드가 올바르게 동작하고 빌드되는지 검증한다.
  • 테스트 결과 문제가 있다면 수정하고 다시 1로 돌아간다. 문제가 없다면 배포를 진행한다.

CD

CD는 간단히 말하면 배포 자동화 과정이다. CD는 지속적인 서비스 제공(Continuous Delivery) 또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용된다. 두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 한다.

CD를 적용한 후의 흐름

  • CI를 적용하여 코드를 검증한다.
  • 배포환경과 비슷한 곳에서 코드를 검증한다.
  • 검증된 소프트웨어를 실제 프로덕션 환경으로 배포한다.

CI/CD가 중요한 이유

  • 최적의 도구가 뒷받침되는 CI/CD를 제대로 사용할 경우, 소프트웨어 제품을 신속하게 출시하는 동시에 새로운 기능과 수정 사항을 정기적으로 쉽게 구현할 수 있는 믿을 만한 프로세스가 마련된다.
  • CI/CD는 개발자들이 원하는 바람직한 팀 구축에 도움이 된다.
  • CI/CD로 협업 개선
  • CI/CD는 안정성, 자동화, 효율성을 극대화
post-custom-banner

0개의 댓글