▶️ CI/CD에 대해서 설명해주세요.
Continuous Integration (CI - 지속적 통합)
- CI는 개발 과정에서 자주 코드 변경 사항을 통합하는 것을 의미한다. 개발자가 코드를 커밋할 때마다 자동으로 테스트를 실행하고, 코드를 공유 레포지토리에 병합한다.
- 목표는 개발자가 작업하는 동안 발생한 문제를 조기에 발견하고 해결하여 통합된 코드베이스가 항상 실행 가능한 상태를 유지하는 것이다.
Continuous Delivery (CD - 지속적 배포) 또는 Continuous Deployment (지속적 배포)
- Continuous Delivery는 개발된 소프트웨어를 언제든지 배포할 수 있는 상태로 유지하는 것을 의미한다. 즉, 자동화된 빌드 및 배포 프로세스를 통해 언제든지 소프트웨어를 스테이징 또는 프로덕션 환경으로 배포할 수 있다.
- Continuous Deployment는 Continuous Delivery의 한 단계 더 나아가, 변경 사항을 자동으로 프로덕션 환경에 배포하는 것을 의미한다. 이는 테스트와 검증이 자동화되어 신뢰성 있는 배포를 보장한다.