CI/CD

개발에 필요한 여러 단계에 대한 **자동화**를 통해 애플리케이션을 보다 빠르고 짧은 주기로 고객에게 제공하는 방법

기본적인 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포를 통해

새로운 코드의 통합, 테스트, 릴리스, 배포 등의

애플리케이션 생명주기 전체에 대한 자동화 과정을 모니터링 가능하게 하는 것


CI(Continuous Integration)

CI는 개발자를 위한 자동화 프로세스인 **지속적인 통합**을 의미

CI를 통해 새로운 코드 개발과, 코드의 변경 사항이 정기적으로 빌드 및 테스트되고

공유 레포에 병합되어 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드를

작업할 경우에도 서로 충돌없이 원하는 개발 작업을 수행하고 문제를 해결할 수 있음


CD(Continuous Delivery // Continuous Deployment)

CD는 지속적인 제공(Continuous Delivery) 또는 지속적인 배포(Continuous Deployment)를

의미하며 이 두 용어는 상호 교환적으로 사용 두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻함

개발자가 최소한의 노력으로 **새로운 코드에 대한 배포를 자동화**할 수 있으며