• 애플리케이션 개발 단계를 자동화하여 애플리케이션 개발을 보다 짧은 주기로 고객에게 제공하는 방법
  • 새로운 코드 통합으로 인해 개발 및 운영팀에서 발생하는 문제를 해결하는 솔루션
  • CI/CD는 애플리케이션 통합, 테스트, 제공, 배포에 이르는 라이프사이클 전체에 걸쳐서 지속적인 자동화와 모니터링을 제공
  • CI → 빌드/테스트 자동화
  • CD → 배포 자동화

1. CI (Continuous Integration)

  • Continuous Integration(지속적인 통합)의 약자
  • 개발자를 위한 자동화 프로세스를 의미
  • CI (Continuous Integration) 구축
    1. 애플리케이션 코드 변경사항이 정기적으로 빌드/테스트
    2. 공유 저장소에 병합되어 여러명의 개발자가 동시에 프로그램을 개발할 경우 서로 충돌할 수 있는 문제를 해결

2. CD (Continuous Delivery & Continuous Deployment)

  • Continuous Delivery(지속적인 서비스제공), Continuous Deployment(지속적인 배포)의 약자
  • 개발자들이 애플리케이션에 적용한 변경사항이 버그테스트를 거쳐 저장소에 자동 업로드 되는 것을 의미
  • Continuous Delivery 의미를 가진 CD 구축
    1. 운영팀은 애플리케이션을 이 저장소에서 실시간 운영 환경으로 배포 가능
    2. 개발팀과 운영팀의 가시성 및 커뮤니케이션 문제를 해결해 줄 수 있음
  • Continuous Deployment 의미를 가진 CD 구축
    1. 지속적인 배포로 개발자의 변경사항을 저장소에서 고객이 사용 가능한 운영환경까지 자동으로 릴리즈할 수 있음
    2. 애플리케이션 수동 배포 프로세스로 인한 프로세스 과부하 문제를 해결 가능

'IT 학습 용어' 카테고리의 다른 글

Little's law(리틀의 법칙) → 시스템 성능 테스트에 활용  (0) 2022.07.15
GitOps 설명  (0) 2022.07.08
file storage, block storage, object storage이란  (0) 2022.07.03
페이로드(payload)  (0) 2022.06.27
M3U8 파일  (0) 2022.06.27

+ Recent posts