CI/CD

박다솔·2021년 9월 28일
0

기술 면접

목록 보기
4/10

CI/CD

  • CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법

CI란?

  • "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미
  • 지속적 통합은 동일한 소프트웨어 프로젝트에서 작업하는 모든 사람이 코드 베이스에 대한 변경 사항을 정기적으로 공유한 다음, 각 변경 후에 코드가 원래 의도한 대로 작동하는지 확인하는 방식.
  • 지속적 통합의 실행은 소스/버전 관리 시스템에 대한 변경 사항을 정기적으로 커밋하여 모든 사람에게 동일 작업 기반을 제공하는 것으로 시작합니다. 커밋할 때마다 빌드와 일련의 자동 테스트가 이루어져 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장
  • 지속적 통합을 채택하면 개발 프로세스의 속도를 높이는 동시에 코드 품질을 개선하는 효과

CD란?

  • "CD"는 지속적인 서비스 제공(Continuous Delivery) 및/또는 지속적인 배포(Continuous Deployment)를 의미
  • 코드 변경이 파이프라인의 이전 단계를 모두 성공적으로 통과하면 수동 개입 없이 해당 변경 사항이 프로덕션에 자동으로 배포
  • 지속적 배포는 품질 저하 없이 사용자에게 기능을 빠르게 제공하기 위해 자동화 사용을 극대화한다.

CI/CD 사용의 장점

  • CI/CD 파이프라인을 사용하면 매주, 매일, 심지어 매시간 변경 사항을 전달할 수 있어서 품질 저하 없이 릴리스 간격을 단축 할 수 있다.
  • 테스트를 자동화하면 테스트를 일관되게 수행할 수 있어 결과의 신뢰성이 높아지고, 수동 테스트보다 빠르게 실행 할 수 있어 자주 테스트 할 수 있다. 코드를 정기적으로 테스트 할 수 있게 됨으로서 버그나 문제 사항을 빨리 발견해 해결 하면서 코드 품질이 향상된다.

Reference

CI/CD(지속적 통합/지속적 제공): 개념, 방법, 장점, 구현 과정
TeamCity CI/CD 가이드

profile
매일 성장하는 개발자

0개의 댓글