read
CI Feature Matrix - CruiseControl - Confluence
다양한 CI 툴들을 비교 및 분석해 놓은 페이지다. CruiseControl 을 만든 ThoughWorks 에서 만든 페이지니, CruiseControl 의 장점을 부각시키는 것임을 감안해야 한다.
지금 내가 필요한 것은 Build verification 을 하는 기능과, 유닛 테스트 등을 돌려보고, 연결된 타겟보드에서 자동화 테스트 정도까지 실행해 보는 것이다.
- Free 일 것 (Must)
- Trac 과 연동성이 좋을 것 (Nice to Have)
- Subversion 과 Git 을 지원할 것 (Must)
- 체크인 될 때 빌드 시작 (Nice to Have)
- Daily build (Must)
- Email 알림 (Must)
- 웹기반 관리 (Nice to Have)
- Shell 명령을 통한 빌드 지원 (Must)
- 다수의 프로젝트 빌드 지원 (Must)
CI 툴 목록을 위의 Must 항목들로 필터링을 해보면
- CruiseControl
CruiseControl.NET(No GIT)CruiseControl.rb(No GIT)Cruise(Not free)CI Factory(No GIT)Drumbeat CI(Not free)Tinderbox & Tinderbox2(No subversion)BuildBot(No multiple projects)Anthill Professional(Not free)Anthill(No GIT)Bamboo(Not free)Luntbuild professional(Not free)- LuntBuild
Gump(Need more Info)- Continuum
Sin(No daily build)OpenMake Meister(Not free)- OpenMake Mojo
Parabuild(Not free)Tinderbox3(No subversion)Pulse(Not free)TeamCity (EAP)(Not free)- Hudson
FinalBuilder Server(Not free)Zed(Not free)easyCIS(No GIT)RedJack(Need more info)ElectricCommander(Not free)
Must 항목으로 추려내고 나면,
- CruiseControl (web)
- LuntBuild (checkin, web)
- Continuum (checkin)
- OpenMake Mojo (checkin)
- Hudson (trac, checkin, web)
유닛테스트나 자동화 테스트와 연동하는 부분까지도 고려해 봄직 한데, 테스트 코드 자체가 많지 않으니, 일단은 build verification 에만 집중하는 걸로 해야겠다. 그러고 나서 따져보면 Nice to Have 지원하는 것이 가장 많은 Hudson 이 현재로서 적절해 보인다. 일단 Hudson 문서부터 읽어보는 것이 우선해야 할 일이 될 듯.