Continuous endeavor for a better continuous integration

사용자 삽입 이미지

In English...(show)


사용자 삽입 이미지

지속적인 통합(Continuous Integration, CI)이란 주제에는 항상 관심이 많았습니다. 현재 팀에서도 나름대로 지속적인 통합을 잘 활용하고 있다고 생각했는데, 이 책을 읽어보니 개선할 점이 많더군요.

다음과 두 가지 사항이 도움이 되었습니다.

  • CI 빌드 시에 꼭 모든 것을 하려고 해서는 안된다. 빌드 시간이 10분을 넘기기 시작하면 사람들이 CI에 반감을 가질 수 있다. 오래 걸리는 작업은 별도 주기의 빌드(일일 빌드 등)에서 수행하라.
  • 정적 코드 분석 툴 및 동적 분석 툴을 통해 테스트를 보완하라.

정적 코드 분석은 코드 중복 체크나 가능한 오류 사항 및 코딩 규칙 위반 사항 점검에 유용합니다. 동적 분석은 테스트 코드의 커버리지(coverage)를 검사합니다. 아쉽게도 C++ 언어용으로는 쓸만한 공짜 분석 도구들이 눈에 뜨이지 않더군요. 이 책을 통해서 알게된 SourceMonitorSimian이 C++을 지원합니다.

SourceMonitor는 코드의 복잡도를 분석해주는 도구입니다. 복잡도가 높을수록 버그그 파고들 구멍이 많은 것이니 리팩토링 시 그러한 부분들에 먼저 주목하면 좋겠지요. Simian은 코드 유사성 검사 도구로 'Don't Repeat Yourself' 원칙이 위배되는 copy & paste 코드가 몰래 추가되는 일을 막아줍니다. 이 두 도구에 대한 간단한 설정 방법이 제 위키에 나와 있습니다.

혹시 공짜 C++ 코드 커버리지 분석 도구 알고 계신 분 있나요?

지속적인 통합: 소프트웨어 품질을 높이고 위험을 줄이기 상세보기
폴 M. 듀발 지음 | 위키북스 펴냄
이 책은 개발조직의 성공을 위한 '지속적인 통합'에 대해 이야기한다. 저자는 일일 빌드가 참신한 생각이었던 때를 지나 지속적인 통합을 하는 수준에 이르렀고, 이제는 지속적인 통합을 하느냐의 여부가 제대로 일하는 개발 조직을 가늠하는 잣대가 됐다고 주장한다. 그리고 이 책을 통해 소프트웨어의 품질은 높이고 위험은 줄이는 지속적인 통합의 개념과 실천방법을 자세히 설명한다. 또한 CI 시스템이 수행하는 데이터베이스

크리에이티브 커먼즈 라이선스
Creative Commons License

'Book Review' 카테고리의 다른 글

The art of being agile  (0) 2008/07/23
POSA 2  (0) 2008/06/25
Continuous endeavor for a better continuous integration  (2) 2008/06/04
Beautiful Code for game programmers  (0) 2008/04/17
Managing Humans  (0) 2008/03/27
게임을 포함한 대중 문화의 가치  (0) 2008/03/24
Trackback 0 Comment 2

top