CI(Continuous Integration)는 코드를 작성하면 자동으로 빌드 및 테스트를 수행하는 것을 의미한다. 이를 통해 다양한 코드 변경 사항들이 빌드 실패를 일으키지 않는지, 테스트 케이스를 통과하는지 등을 검증할 수 있다. 코드 변경 사항이 머지되기 전에 빌드 및 테스트 실패를 방지할 수 있습다.
CD(Continuous Delivery or Deployment)는 빌드 및 테스트를 거친 코드를 실제 서버에 배포하는 과정을 의미한다. 이를 자동화하여 개발자가 수동으로 서버에 배포하는 작업을 줄일 수 있다. Continuous Delivery는 개발자가 수동으로 배포를 결정하고 수행하는 작업을 포함한다. 반면, Continuous Deployment는 배포 결정을 자동화하여 더 높은 수준의 자동화를 이룰 수 있다.
백엔드 CI/CD는 지속적인 개발과 배포를 지원하기 위해 다양한 도구와 기술들을 사용한다. 예를 들어, GitHub, GitLab, Jenkins, Travis CI 등의 CI/CD 도구를 이용하거나 Docker와 Kubernetes 등의 컨테이너 기반 인프라를 사용할 수 있다. 이러한 도구와 기술들은 높은 수준의 자동화와 확장성을 제공하여 백엔드 개발자가 개발에 집중할 수 있도록 도와준다.