인프라 & 클라우드 · 기초
CI(지속적 통합)와 CD(지속적 배포/전달)는 각각 무엇을 의미하며, Continuous Delivery와 Continuous Deployment는 어떻게 다른가요?
힌트 · 코드 통합 자동화와 배포 자동화의 범위 차이, 그리고 배포에 사람의 승인이 개입하는지 여부 관점에서 접근하세요.
자동화빌드테스트배포릴리스
모범답안
CI(지속적 통합)는 개발자들이 코드를 자주 통합하고, 각 통합마다 자동화된 빌드와 테스트를 실행하여 오류를 조기에 발견하는 방식입니다. CD(지속적 배포/전달)는 CI를 넘어, 빌드되고 테스트된 코드를 자동으로 프로덕션 환경까지 배포하는 것을 목표로 합니다.
Continuous Delivery와 Continuous Deployment의 차이는 배포 단계에서 사람의 승인이 필요한지 여부입니다. Continuous Delivery는 언제든지 프로덕션에 배포할 준비가 된 상태를 유지하지만, 실제 배포는 수동 승인을 거칩니다. 반면 Continuous Deployment는 모든 단계가 완전히 자동화되어, 테스트를 통과한 코드는 사람의 개입 없이 자동으로 프로덕션에 릴리스됩니다. 핵심은 자동화의 범위와 배포 승인 여부입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 DevOps / CI·CD 면접 질문
- CI/CD가 무엇이며, 왜 중요한가요?
- Docker의 이미지와 컨테이너의 차이점에 대해 설명해주세요.
- CI 파이프라인의 일반적인 단계(빌드, 테스트 등)를 순서대로 설명하고, 각 단계에서 무엇을 하는지 말씀해주세요.
- 도커 이미지가 레이어(layer)로 구성된다는 것은 무슨 의미이며, 레이어 구조가 어떤 이점을 주나요?
- Dockerfile로 이미지를 빌드할 때 레이어 캐시(build cache)는 어떻게 동작하며, 캐시를 잘 활용하려면 명령어 순서를 어떻게 배치하는 것이 좋은가요?
- 컨테이너와 가상머신(VM)의 차이를 격리 방식과 리소스 사용 측면에서 설명해주세요.