===== 개요 ===== Continous Integration이란 여러 명으로 구성된 팀이 작업한 것을 자주-각 팀원이 하루에 한 번 이상, 매일 여러 번-통합하는 것을 가리키는 소프트웨어 개발 Practice을 말한다. ===== 설명 ===== CI 효과와 특징 * 효과 - 흔히 발생하는 일반적인 위험을 줄여준다. - 에러를 초기에 발견할 수 있다. 자주 통합할수록 에러가 발생하는 범위가 좁아 에러를 잡는 것이 수월해진다. - 잘 동작하고 에러가 거의 없는 S/W를 유지할 수 있다. - 언제 어느 때라도 배포할 수 있는 S/W를 생성해낸다. - 반복적인 수작업을 줄여준다. - 프로젝트 가시성을 좋게 해준다. - 개발 팀이 S/W 제품에 대해 보다 큰 자신감을 갖게 해준다. * 특징 - 소스 코드 일관성 유지 : 소스 관리 시스템이 필요하다. - 자동 빌드 : 빌드는 CI 툴에 의해 자동으로 이루어져야 한다. - 자동 테스트 : 소스 검증과 함께 기능/비기능 테스팅을 매번 검증함으로써 코드의 품질을 높일 수 있다. - 일일 체크아웃과 빌드 : 빌드 주기가 길어질수록 개발자 소스의 오류 발생 확률이 높아지고 그 만큼 시간을 낭비하게 된다. ===== 환경설정 ===== CI(Continuous Integration)는 개발자, 버전 관리 저장소, CI시스템, 빌드 스크립트, 의사소통 장치, 통합 빌드 머신 등으로 구성 된다. \\ {{:egovframework:dev:dep:ci_구성요소.gif|}} \\ ===== 사용법 ===== ===== 샘플 ===== ===== 참고자료 ===== [[http://martinfowler.com/articles/continuousIntegration.html#AutomateDeployment|Martin Fowler - Continous Integration]]