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

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

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

사용자 삽입 이미지

CruiseControl의 결과 화면



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

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

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

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

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

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

Trackback Address :: http://blog.kaykim.org/trackback/76 관련글 쓰기

  1. Subject: CruiseControl .NET 설치 일지

    Tracked from KAISTIZEN 2007/05/29 17:40  Delete

    가정 소스버전관리시스템이 있다. 여기서는 Subversion을 사용한다. CI 시스템 구축 .NET F..

댓글을 달아 주세요

  1. BlogIcon 최재훈 2007/05/29 17:44 Address Modify/Delete Reply

    트랙백 보냈는데, 문자가 깨졌네요. 흑.

    • BlogIcon 김기웅(Kay Kim) 2007/05/29 20:38 Address Modify/Delete

      사이트에 들러서 재미있는 글들을 읽느라 시간가는 줄 몰랐습니다. 그런데 아이미디어에서 도입하려고 했던 C++에 적합한 CI Server는 어떤 것이었나요?

  2. BlogIcon 박희정 2008/05/07 18:07 Address Modify/Delete Reply

    어, 재밌겠네요! 해보고 싶어라..영어의 벽을 보고 서성거리는 1인입니다..
    ㅡㅡ;

  3. BlogIcon 유운연 2008/07/26 05:48 Address Modify/Delete Reply

    호오, 좋군요.
    언제 윈도우 환경에서 협업할 때 한 번 써봐야겠어요. 오늘에서야 Apache ANT, PHP PEAR, PHP PECL에 대해 찾아보다가 Continuous Integration에 대한 글을 봤어요. 전 정말 뒤처져 있군요. 시간나면 TDD 책도 읽어봐야 하는데 말이죠. PHPUnit을 사용해서 유닛테스팅 중인데, 유닛테스팅을 생전 안 해 본 저로서는 곤욕입니다.