CI/CD는 약어로 몇 가지의 다른 의미를 가지고 있다.
CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Intergration)을 의미한다.
CD는 지속적인 서비스 제공(Continuous Delivery) 및 지속적인 배포(Continuous Deployment)를 의미한다.
개발자는 코드를 잦게 원격 코드 저장소에 push하고, 테스트 및 빌드하여 빌드가 성공했는지 실패했는지 바로 확인하고, 통합 테스트 결과를 통해 개선 방안을 찾는다. 이를 통해 개발자는 버그를 조기에 발견할 수 있고, 테스트가 완료된 코드에 대해 빠른 전달이 가능해지며 지속적인 배포가 가능해진다.
지속적 배포는 코드 변경이 파이프라인의 이전 단계를 모두 성공적으로 통과하면 수동 개입 없이 해당 변경 사항이 프로덕션에 자동으로 배포된다. 지속적 배포를 채택하면 품질 저하 없이 최대한 빠르게 사용자에게 새로운 기능을 제공할 수 있다.
Github가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼이다.