ex) 10명의 개발자가 참여하는 프로젝트가 있다. git에 기본 틀이 잡혀있는 코드가 올라와있고, 각 개발자는 자신의 로컬환경에 clone받아서 작업을 시작한다.
개발이 끝날 때까지 모든 개발자가 한 번도 중앙저장소에 코드를 올리지 않고, 개발이 끝난 후에 10명의 개발자의코드를 한 번에 통합해야 하는 상황이라면? 👉 error
따라서 지속적 통합을 이루기 위해 각 개발자는 단위별 또는 페이지별로 완성될 때마다 git에 코드를 올리고 문제가 없는지 테스트(test)하는 것이 좋다 👉 코드의 품질 유지
💡 test와 build
하나의 프로젝트를 완성하기 위해서는컴파일
👉빌드
👉배포
의 과정이 이루어져야한다. 하지만 이는 매우 반복적으로 일어나야 하기 때문에 자동화가 필요하다.CI 자동화를 위해서 git의 사용이 권장되는 것이다.
git에 코드를 올려놓으면 중앙 코드와 통합되며 버그를 알려준다. 이를 해결함으로써 각 개발자는 작은 단위의 코드를 검증(test)하고 버그를 해결해 나가며 프로젝트를 완성해 나갈 수있다.
빌드
와 테스트
를 진행하고, 이를 통과한 코드에 대하여 테스트서버와 운영서버에 곧바로 그 내용을 배포
해 반영하는 것)
CI
= 빌드 및 테스트 자동화
CD
= 배포 자동화