지난번의 "실전 애자일 게임 개발"의 지속적인 통합(Continuous Integration)을 하려면, 코드가 제출될 때마다, 구축을 해야 합니다.

이걸 일일히 하려다 보면, 프로그래밍할 시간을 앗아갈 것이 틀림없죠. 그런데 만약 이걸 놀고 있는 PC에게 대신시킬 수 있다면? 이걸 자동화해주는 게 바로 "CruiseControl"입니다.

CruiseControl이 하는 일은 크게 두 가지입니다:
  • 자동 구축: 정기적으로 혹은 필요할 때마다(예: 코드가 제출될 때마다) 자동으로 구축을 시도한다.
  • 결과 보고: 구축이 완료된 후, (HTML 형태의) 결과 보고서를 생성한다.
    • 왼쪽에서는 해당 프로젝트의 이름이전 빌드에 대한 정보를,
    • 오른쪽에서는 빌드의 결과(예:컴파일 오류, 테스트 결과, 이전 빌드 이후로 변경된 파일들)에 대한 정보를 제공한다.

사용자 삽입 이미지

CruiseControl의 결과 화면



따라서 CruiseControl를 사용하(여 지속적인 통합을 하):
  1. 프로그래머가 프로그래밍에 집중할 시간이 늘어나고,
  2. 오랜 시간이 걸리는 빌드를 퇴근한 후, 자동적으로 시행되게 할 수 있으며,
  3. 일일 빌드를 통해 모든 코드가 제대로 동작하는지 검증할 수 있습니다.

CruiseControl가 다른 도구들에 비해 가지는 장점들은:

CruiseControl 설치시에 참고할만한 글이나 서적은 다음과 같습니다:

지속적인 통합(CI)에 도움이 될만한 글들은 아래와 같습니다:

CruiseControl외의 고려해볼만한 CI Server들은 다음과 같습니다:

마지막으로 현재 CruiseControl을 사용하고 계신 분이 있다면, 그 사용 후기를 Trackback(혹은 답글)으로 부탁드립니다. 불행히도 저는 프로그래머도 아니고, TDD를 반기는 프로그래머들을 만나지 못해서, 아직까지 CruiseControl를 사용해보지 못했네요.
: