소프트 스킬 · 심화
GitHub Actions를 이용한 CI/CD 파이프라인 구성 방법을 설명해주세요.
힌트 · workflow YAML 구조, trigger(push/PR), job/step/action 개념, 테스트 자동화 + 배포 연계를 설명해보세요.
YAMLWorkflowEvent TriggerDockerArtifact
모범답안
GitHub Actions를 이용한 CI/CD 파이프라인은 YAML 파일로 정의된 Workflow를 통해 구성됩니다. Workflow는 특정 이벤트(push, pull request 등)에 의해 트리거될 수 있습니다.
Workflow는 하나 이상의 Job으로 구성되고, 각 Job은 실행될 Step들의 집합입니다. 각 Step은 Action을 사용하여 정의됩니다. Action은 미리 만들어진 재사용 가능한 코드 조각으로, 테스트 실행, 빌드, 배포 등 다양한 작업을 수행할 수 있습니다.
예를 들어, push 이벤트 발생 시 테스트를 자동화하고, 테스트 통과 후 Docker 이미지를 빌드하여 배포하는 파이프라인을 구성할 수 있습니다. 테스트 결과나 빌드된 이미지는 Artifact로 저장하여 다음 Job에서 사용할 수 있도록 합니다. YAML 파일에서 이러한 모든 단계를 정의하고, GitHub Actions가 이를 자동으로 실행합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Git / 협업 면접 질문
- git bisect를 이용한 버그 원인 커밋 찾기 방법을 설명해주세요.
- 모노레포(Monorepo)와 멀티레포(Multi-repo)의 차이와 장단점을 설명해주세요.
- Trunk-based Development란 무엇이며, Git Flow와 어떻게 다른가요?
- Git의 객체 데이터베이스를 구성하는 blob, tree, commit 객체가 각각 무엇을 저장하며 서로 어떻게 참조하는지 설명해주세요. 동일한 내용의 파일이 여러 디렉터리에 존재할 때 blob 객체는 어떻게 처리되나요?
- git add를 실행했을 때 Git 내부적으로 어떤 일이 일어나는지 인덱스(index) 파일과 blob 객체 생성 관점에서 설명해주세요. 작업 디렉터리, 인덱스, 마지막 커밋 트리 세 가지 상태를 git이 어떻게 비교하나요?
- 커밋 해시(commit SHA)는 어떤 정보들을 입력으로 계산되나요? 커밋 메시지나 작성자만 다르고 트리 내용이 동일한 두 커밋이 서로 다른 해시를 갖는 이유와, 이 특성이 히스토리 무결성에 어떤 의미를 갖는지 설명해주세요.