인프라 & 클라우드 · 기초
CI 파이프라인의 일반적인 단계(빌드, 테스트 등)를 순서대로 설명하고, 각 단계에서 무엇을 하는지 말씀해주세요.
힌트 · 코드 커밋 이후 자동으로 실행되는 단계들의 흐름과 각 단계의 목적 관점에서 접근하세요.
빌드테스트배포코드 통합자동화
모범답안
CI 파이프라인은 코드 변경 사항이 안정적으로 프로덕션 환경에 배포될 수 있도록 자동화된 일련의 과정입니다.
일반적으로 다음과 같은 단계로 구성됩니다.
코드 통합 (Code Commit): 개발자가 코드를 버전 관리 시스템(예: Git)에 커밋하는 것으로 시작됩니다. 이것이 파이프라인 트리거가 됩니다.
빌드 (Build): 커밋된 코드를 실행 가능한 애플리케이션으로 컴파일하고 필요한 종속성을 다운로드합니다. 예를 들어, Java 프로젝트라면 Maven이나 Gradle을 사용하여 빌드합니다.
테스트 (Test): 빌드된 애플리케이션에 대해 다양한 종류의 테스트를 실행합니다. 단위 테스트, 통합 테스트, 인수 테스트 등이 포함되며, 코드의 품질과 기능적 정확성을 검증합니다.
배포 (Deploy): 테스트를 통과한 애플리케이션을 스테이징 또는 프로덕션 환경에 자동으로 배포합니다. 이 단계는 실제 사용자에게 코드가 전달되기 전 마지막 검증 단계 역할을 합니다.
이러한 자동화된 파이프라인을 통해 개발팀은 코드 변경 사항을 더 빠르고 안정적으로 배포할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 DevOps / CI·CD 면접 질문
- CI/CD가 무엇이며, 왜 중요한가요?
- Docker의 이미지와 컨테이너의 차이점에 대해 설명해주세요.
- CI(지속적 통합)와 CD(지속적 배포/전달)는 각각 무엇을 의미하며, Continuous Delivery와 Continuous Deployment는 어떻게 다른가요?
- 도커 이미지가 레이어(layer)로 구성된다는 것은 무슨 의미이며, 레이어 구조가 어떤 이점을 주나요?
- Dockerfile로 이미지를 빌드할 때 레이어 캐시(build cache)는 어떻게 동작하며, 캐시를 잘 활용하려면 명령어 순서를 어떻게 배치하는 것이 좋은가요?