Continuous Integration
개발자를 위한 자동화 프로세스인 지속적인 통합을 의미하며, 빌드 및 테스트를 자동화하는 과정이다.
CI를 성공적으로 구현했다면 애플리케이션의 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 개발자가 동시에 작업시 서로 충돌할 수 있는 문제를 해결할 수 있다.
커밋할 때마다 빌드와 일련의 테스트가 자동으로 이루어져 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장한다.
Continuous Delivery, Continuous Deployment
지속적인 서비스 제공 및 지속적인 배포를 의미하며, 배포를 자동화하는 과정이다.
CD는 서비스 중단 시간을 최소화하여 사용자들의 서비스 접근을 유지하면서 최신 버전의 소프트웨어를 이용할 수 있게 하는 것을 목적으로 한다.
지속적인 통합 및 배포 과정을 자동화 한 것을 파이프라인을 구축한다고 표현

배포에서 파이프라인이란 소스 코드의 관리부터 실제 서비스하기까지의 배포 과정을 연결하는 구조를 의미한다.
파이프라인은 전체 배포 과정을 여러 단계(Stages)로 분리하고, 각 단계는 파이프라인 안에서 순차적으로 실행되며 주어진 작업(Actions)들을 수행한다.
아래는 파이프라인의 대표적인 세 가지 단계이다.
Source 단계
원격 저장소에 관리되고 있는 소스 코드에 변경 사항이 일어날 경우, 이를 감지하고 다음 단계로 전달하는 작업을 수행
Build 단계
Source 단계에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공, 또한 Build 단계를 거쳐 생성된 결과물을 다음 단계로 전달하는 작업을 수행
Deploy 단계
Build 단계로부터 전달받은 결과물을 실제 서비스에 반영하는 작업을 수행
참고:
CI/CD 란
CI/CD의 개념정리
CI/CD 개념과 깃허브 리포지터리 생성하기 - 요즘IT
[CI/CD] CI/CD란? - 지속적 통합(Continuous Integration)/지속적 배포(Continuous Deployment) 기본개념