상세 컨텐츠

본문 제목

CI 기능 및 특징

Developer/형상 관리

by cepiloth 2018. 12. 15. 22:45

본문

728x90
반응형



최근에 업무를 진행하면서 CI 강력한 형상관리 이점을 몸소 체험하고 있다. 단순히 소스관리가 아닌 릴리즈 된 제품 관리를 위해서라도 CI 의 사용은 개발부서에 있어 필수다. 갓 CI!


CI 시나리오

  • 개발자가 본인 컴퓨터에서 소스 작성하고 빌드 및 테스트 수행
  • 개발자가 형상관리 저장소에 소스를 업로드
  • CI 서버가 형상관리 저장소에서 변경 내역을 감지하고 다운로드
  • CI 서버는 다운로드 한 소스를 스크립트에 의해서 빌드 및 테스트 과정 수행
  • 빌드 및 테스트 결과를 CI 서버에 저정하거나 담당자에게 알림 
  • CI 서버는 형상관리 저장소의 변경 사항을 계속해서 감지

CI  장점

  • 별도의 디버깅 과정 없이 통합 시발생하는 문제점 파악 가능
  • 소스의 결함으로 인한 문제점을 조기에 발견
  • 소스의 변경으로 인하여 다른 모듈과의 충돌을 조기에 발견
  • 변경된 모든 소스에 대한 단위테스트 결과를 빠르게 확인 가능
  • 올바르지 못한 프로젝트의 진행방향을 조기에 발견
  • 최종 릴리즈 전에 가능한 많은 문제점을 발견할 수 있음
  • 개발중인 소프트웨어를 언제라도 배포 가능

CI 단점

  • CI를 위한 별도의 서버 필요.
  • 효과적인 CI를 위한 표준 절차가 필요하고 개발자는 이 규칙을 따라야 함 주기가 긴 통합은 전체적인 시스템 통합을 지연 시킨다.
  • 주기가 짧은 통합은 시스템의 성능을 떨어 뜨린다.
  • 잘못된 코드를 형상 관리 저장소에 업로드하면 안된다.
  • 오류가 발생한 빌드는 즉시 고쳐야 한다.
  • 느린 CI 서버는 피드백이 지연 된다.
  • 통합결과를 관리자에게 확실하게 전달하여야 한다.
  • 자동으로 실제 운영서버로 배포되는 것은 심각하게 고려해야 한다.

CI 제품

  • Hudson(Jenkins)
  • LuntBuild
  • Apache Gump
  • Apache Continuum
  • AnthillPro
  • Bamboo
  • Cruise
  • QuickBuild


728x90
반응형

'Developer > 형상 관리' 카테고리의 다른 글

BAMBOO 소개  (0) 2018.12.15
정적 분석 툴 비교  (0) 2018.12.15
Commit failed - exit code 128 received, with output:  (0) 2018.12.03
소프트웨어 형상 관리(SCM)  (2) 2018.09.05
Git - 코드 트레이스  (0) 2018.09.05

관련글 더보기

댓글 영역