노무현 대통령 배너

Cruise Control - Overview

Development/자동화 2007/10/31 15:44 posted by k16wire
얼마전 실용주의 개발환경을 구성하기 위한 도구를 정리하고 나서 어떤 툴부터 스터디를 시작할까 고민하던중에 마침 업무적으로도 필요하고 해서 크루즈컨트롤에 대해 자세히 살펴보기로 했습니다.

크루즈컨트롤의 원래 의미는 장거리 운전을 할때 운전자가 엑셀을 밟지 않아도 일정한 속도를 유지시켜주는 정속주행 장치입니다. 외국 개발자들은 참 이름도 잘 짓네요. ^^;
 
사용자 삽입 이미지

크루즈컨트롤(Cruise Control) 과 같은 애플리케이션을 CI Server 나 CI System 이라고 부릅니다. 빌드 서버라고 부르기도 하는데 요즘 나온 애플리케이션들이 대쉬보드나 모니터링을 같이 지원하는 경우가 많기 때문에 이 보다는 CI 서버라고 부르는게 맞다고 봅니다.

크루즈컨트롤을 처음 시작한건 마틴 파울러(Martin Fowler)로 유명한 Thought Works사 입니다. 처음 크루즈 컨트롤을 만들기 시작했고 지금도 많은 사람들이 커미터로 활동하고 있습니다.

크루즈컨트롤의 라이센스는 BSD-style을 따르며 OSI Certified 오픈 소스 소프트웨어라고 명시하고 있습니다.

크루즈 컨트롤의 내부구성은 크게 3가지 모듈로 이루어져 있습니다.
  • 빌드 루프(build loop) : 코어 모듈, 빌드를 주기적으로 실행하고 실행결과를 사용자에게 통보한다.
  • 레거시 리포팅(legacy reporting) : 사용자가 빌드 결과를 볼 수 있게 제공한다.
  • 대쉬보드(dashboard) : 모든 프로젝트 빌드 상태상태를 비쥬얼하게 나타낸다.
이렇게 모듈로 구성되어 있기 때문에 원하는 형태에 맞게 크루즈컨트롤을 사용하는게 가능합니다. 예를 들어 빌드 루프에서 모니터링에 사용되는 HTTP, RMI 같은 기술을 보안상의 이유로 사용하지 않는게 가능합니다.

현재 크루즈컨트롤의 릴리즈 버전은 2.7.1입니다. (2007/10/30 기준)

크루즈컨트롤이 지원하는 플랫폼은 Java, .NET, Ruby 입니다. .NET과 루비의 크루즈컨트롤은 아래 URL을 참고하세요.




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

'Development > 자동화' 카테고리의 다른 글

Cruise Control - Startup  (0) 2007/11/05
Cruise Control - Architecture  (0) 2007/11/02
Cruise Control - Overview  (4) 2007/10/31
CI Server Matrix  (0) 2007/10/31
빌드(Build)의 종류  (0) 2007/10/15
Ant 표준 타겟(Target)  (0) 2007/09/17