CI/CD는 어플리케이션 개발 단계를 자동화하여 보다 짧은 주기로 고객에게 제공하는 방법이다.
CI는 지속적인 통합을 의미한다.
요즘 개발은 여러명의 개발자들이 한 어플리케이션에 대하여 동시에 작업을 한다.
CI를 통해 코드의 변경사항이 정기적으로 빌드, 테스트 되어 통합되므로 여러명의 개발자들이 동시에 작업 하는것을 좀 더 수월하게 해 준다.
즉, CI는 개발-빌드-테스트를 짧은 주기로 자동화하도록 한다.
CD는 지속적 제공 또는 지속적 배포를 의미한다.
지속적 제공은 CI 이후에 실행되는 것으로 여러 변경 사항들을 리포지토리에 자동으로 업로드하는것을 의미한다.
즉, 효과적인 지속적 제공을 하기 위해서는 CI가 먼저 구축되어야 한다.
이 과정을 통해 어플리케이션이 배포가 가능한 상태로 만들어 준다.
지속적 제공의 확장단계로 어플리케이션을 배포하는 작업을 자동화 한 것이다.
CI/CD를 통해 어플리케이션의 통합, 테스트, 제공 및 배포의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 할 수 있는 것이다.
이런 구축 사례를 CI/CD 파이프라인이라 부른다.
https://www.redhat.com/ko/topics/devops/what-is-ci-cd
https://artist-developer.tistory.com/24