소프트웨어 개발과 프로젝트 관리
지속적 통합(CI)의 설명으로 적절한 것은?
- A개발의 마지막에 각자가 오랜 기간에 걸쳐 만든 변경을 한꺼번에 통합하고, 한 번에 통합 테스트를 수행한다
- B개발자가 변경을 자주(하루에 여러 번) 공유 브랜치에 통합하고, 그때마다 빌드와 자동 테스트를 실행하여 문제를 일찍 발견한다
- C테스트에 합격한 변경을 사람의 판단을 거치지 않고 자동으로 운영 환경에 공개한다
정답과 해설 보기
정답: B. 개발자가 변경을 자주(하루에 여러 번) 공유 브랜치에 통합하고, 그때마다 빌드와 자동 테스트를 실행하여 문제를 일찍 발견한다
지속적 통합에서는 변경을 작게 자주 통합하고, 통합할 때마다 서버에서 빌드와 단위 테스트 등을 자동으로 실행합니다. 통합 간격이 짧으므로 변경끼리의 어긋남이나 결함을 원인을 알기 쉬운 동안에 발견하여 고칠 수 있습니다. 지금까지의 테스트를 모아 다시 실행하는 회귀 테스트를 변경할 때마다 자동으로 수행할 수 있는 것도 이점입니다. 테스트에 합격한 변경을 자동으로 운영 환경에 공개하는 것은 지속적 배포로, CI보다 앞선 단계입니다.