CI/CD는 지속적 통합(Continuous Integration) 및 지속적 제공/배포(Continuous Delivery/Deployment)를 의미하며, 소프트웨어 개발 라이프사이클을 간소화하고 가속화하는 것을 목표로 한다.
지속적 통합(CI)은 코드 변경 사항을 공유 소스 코드 리포지토리에 자동으로 자주(frequently) 통합하는 것을 말한다. 지속적 제공 또는 배포(CD)는 코드 변경 사항의 통합, 테스트, 제공을 나타내는 프로세스로, 두 가지 부분으로 구성된다. 지속적 제공에는 자동 프로덕션 배포 기능이 없는 반면, 지속적 배포는 업데이트를 프로덕션 환경에 자동으로 릴리스한다.

이렇게 연결된 두 사례를 일반적으로 "CI/CD 파이프라인"이라 부르며, 개발 팀과 운영 팀이 DevOps 또는 SRE(사이트 신뢰성 엔지니어링)를 통해 애자일 방식으로 협력하여 이를 지원한다.
CI/CD는 조직이 버그 및 코드 오류를 예방하는 동시에 지속적인 소프트웨어 개발 및 업데이트 주기를 유지하는 데 도움이 된다.
애플리케이션이 커짐에 따라 CI/CD의 기능을 활용하면 복잡성을 줄이고 효율성을 높이며 워크플로우를 간소화할 수 있다.
기존에 새 코드를 커밋에서 프로덕션으로 가져오는 데 필요했던 수동 개입을 CI/CD가 자동화하므로 다운타임이 최소화되고 코드 릴리스 주기가 단축된다. 또한 코드의 업데이트와 변경 사항을 더 빠르게 통합할 수 있으므로 사용자 피드백을 더 자주 효과적으로 통합할 수 있고, 그 결과 사용자에게 긍정적인 결과를 제공할 수 있으며 전체적인 고객 만족도가 향상된다.
CI/CD에서 "CI"는 지속적 통합을 의미하며, 지속적 통합은 코드 변경 사항을 다시 공유 분기 또는 "트렁크"로 더 빈번하게 병합하는 것을 용이하게 하는 개발자용 자동화 프로세스이다. 이러한 업데이트가 이루어지면 병합된 코드 변경 사항의 신뢰성을 보장하기 위해 자동화된 테스트 단계가 트리거된다.
현대적인 애플리케이션 개발에서는 여러 개발자들이 동일한 애플리케이션의 각기 다른 기능을 동시에 작업할 수 있도록 하는 것을 목표로 한다. 그러나 조직에서 특정한 날("병합의 날(merge day)")을 정해 모든 분기 소스 코드를 병합하는 경우, 결과적으로 반복적인 수작업에 많은 시간을 소모하게 된다.
이는 고립된 상태에서 작업하는 개발자가 애플리케이션을 변경하는 경우 다른 개발자들이 동시에 적용하는 여러 변경 사항들과 충돌할 가능성이 있기 때문이다. 팀이 하나의 클라우드 기반 통합 개발 환경(Integrated Development Environment, IDE)에 동의하지 않고 각 개발자가 각자의 로컬 IDE를 커스터마이징하는 경우 문제는 더 심화될 수 있다.
동시에 개발 중인 애플리케이션의 분기(branch)가 너무 많아 상호 충돌할 가능성이 있는 문제에 대한 해결첵으로 CI를 고려할 수 있다.
성공적인 CI란 개발자가 애플리케이션에 적용한 변경 사항들이 병합된 후 이러한 변경사항이 애플리케이션을 손상시키지 않도록 자동으로 애플리케이션을 빌드하고 다양한 수준의 자동화된 테스트(일반적으로 단위 테스트와 통합 테스트)를 실행하여 해당 변경 사항을 검증하는 것이다. 즉, 클래스와 기능에서부터 전체 애플리케이션을 구성하는 다양한 모듈에 이르기까지 모든 것을 테스트한다. 자동화된 테스트를 통해 새 코드와 기존 코드 간 충돌이 발견되는 경우 CI를 적용하면 해당 버그를 빠르게, 자주 수정하기 더 용이해진다.
CI/CD의 "CD"는 지속적 제공(Continuous Delivery) 또는 지속적 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환하여 사용된다. 두가지 모두 파이프라인의 추가 단계를 자동화하는 것이지만 자동화가 얼마나 많이 진행되고 있는지를 나타내기 위해 별도로 사용될 수도 있다.