예약 빌드
개발 2007/01/15 03:15
출처 : 실용주의 프로그래머를 위한 프로젝트 자동화
예약빌드는 규칙적인 시간 간격으로 실행되는 빌드이며, 컴파일시에 발생하는 통합문제와, 실행시에 테스트가 실패하는 문제점들을 찾아낼 수 있다.
1. 기초적인 예약빌드
예약빌드를 하는 가장 원시적인 방법은 정해진 시간에 빌드를 수행하는 스크립트를 이용하는 것이다. 다음과 같이 작동하는 스크립트나 배치파일을 작성할 수 있다.
윈도우 환경일 경우 기본적인 예약 도구로 at 명령어가 있다. 예를 들어 build.bat 파일을 매일 새벽 2시에 실행하도록 예약하는 명령문은 아래와 같다.
2. Cruise Control 사용하기
크루즈 컨트롤(Cruise Control)은 지속적인 빌드 프로세스(continuous build process)를 위한 프레임워크이다. 크루즈 컨트롤의 아키텍처는 아래 그림과 같다.
위 그림에서 볼 수 있듯이, 크루즈 컨트롤은 크게 Build Loop과 Reporting의 2개의 모듈로 구성되어 있다. Build Loop는 크루즈 컨트롤의 핵심 모듈이며 config.xml과 같은 XML 파일로 환경을 구성한다. Reporting 모듈은 사용자가 빌드 결과를 볼 수 있도록 해준다.
크루즈 컨트롤은 http://cruisecontrol.sourceforge.net/ 에서 다운로드 가능하며, 현재 2.6버전까지 나와있다. 크루즈 컨트롤을 설치(여기서는 윈도용 설치파일을 사용)하고 나서 크루즈 컨트롤이 설치된 폴더로 이동한다. 그곳에서 cruisecontrol.bat 배치파일을 실행한다. 아래 그림과 같이 명령 프롬프트 창이 뜨면서 프로젝트 빌드를 수행하고 Jetty 컨테이너가 실행될 것이다.
이제 localhost에 접속해 보면 아래와 같은 화면을 볼 수 있을 것이다.
프로젝트 빌드 상태들을 한눈에 알아볼 수 있도록 되어 있음을 알 수 있으며, rss feed 버튼이 아래에 자리잡고 있는 것으로 봐서 빌드 상태를 RSS 구독기로 구독할 수 있을 것이라 예상할 수 있다.
음으로 프로젝트 링크를 클릭하면 프로젝트 빌드상태에 대한 세부내용이 나타나는 페이지로 이동한다. 아래와 같은 화면이 나타날 것이다.
이곳에서는 테스트결과, XML 형태의 로그 파일, 빌드 상태에 대한 수치표현, JMX 제어판이 자리잡고 있다. 좀 더 자세한 사항은 다음에 알아보기로 하자. :)
예약빌드는 규칙적인 시간 간격으로 실행되는 빌드이며, 컴파일시에 발생하는 통합문제와, 실행시에 테스트가 실패하는 문제점들을 찾아낼 수 있다.
1. 기초적인 예약빌드
예약빌드를 하는 가장 원시적인 방법은 정해진 시간에 빌드를 수행하는 스크립트를 이용하는 것이다. 다음과 같이 작동하는 스크립트나 배치파일을 작성할 수 있다.
1. 버전관리 시스템에서 현재 코드를 체크아웃한다.
2. 빌드 파일을 호출하여 그 코드를 빌드하고 테스트한다.
3. 빌드 결과를 로그 파일에 저장한다.
2. 빌드 파일을 호출하여 그 코드를 빌드하고 테스트한다.
3. 빌드 결과를 로그 파일에 저장한다.
윈도우 환경일 경우 기본적인 예약 도구로 at 명령어가 있다. 예를 들어 build.bat 파일을 매일 새벽 2시에 실행하도록 예약하는 명령문은 아래와 같다.
an 02:00 /every: c:\work\dms\build.bat
2. Cruise Control 사용하기
크루즈 컨트롤(Cruise Control)은 지속적인 빌드 프로세스(continuous build process)를 위한 프레임워크이다. 크루즈 컨트롤의 아키텍처는 아래 그림과 같다.
위 그림에서 볼 수 있듯이, 크루즈 컨트롤은 크게 Build Loop과 Reporting의 2개의 모듈로 구성되어 있다. Build Loop는 크루즈 컨트롤의 핵심 모듈이며 config.xml과 같은 XML 파일로 환경을 구성한다. Reporting 모듈은 사용자가 빌드 결과를 볼 수 있도록 해준다.
크루즈 컨트롤은 http://cruisecontrol.sourceforge.net/ 에서 다운로드 가능하며, 현재 2.6버전까지 나와있다. 크루즈 컨트롤을 설치(여기서는 윈도용 설치파일을 사용)하고 나서 크루즈 컨트롤이 설치된 폴더로 이동한다. 그곳에서 cruisecontrol.bat 배치파일을 실행한다. 아래 그림과 같이 명령 프롬프트 창이 뜨면서 프로젝트 빌드를 수행하고 Jetty 컨테이너가 실행될 것이다.
이제 localhost에 접속해 보면 아래와 같은 화면을 볼 수 있을 것이다.
프로젝트 빌드 상태들을 한눈에 알아볼 수 있도록 되어 있음을 알 수 있으며, rss feed 버튼이 아래에 자리잡고 있는 것으로 봐서 빌드 상태를 RSS 구독기로 구독할 수 있을 것이라 예상할 수 있다.
음으로 프로젝트 링크를 클릭하면 프로젝트 빌드상태에 대한 세부내용이 나타나는 페이지로 이동한다. 아래와 같은 화면이 나타날 것이다.
이곳에서는 테스트결과, XML 형태의 로그 파일, 빌드 상태에 대한 수치표현, JMX 제어판이 자리잡고 있다. 좀 더 자세한 사항은 다음에 알아보기로 하자. :)
'개발' 카테고리의 다른 글
| 스프링에서 빈 묶기(Wiring Beans) (2) (0) | 2007/01/16 |
|---|---|
| 꼭 갖춰야할 27가지 이클립스 플러그인 (0) | 2007/01/15 |
| 예약 빌드 (0) | 2007/01/15 |
| 자바에서 문자열 비교, Collator (0) | 2007/01/15 |
| [이클립스] toString() 없이 예쁘게 출력하기 (0) | 2007/01/14 |
| Java 어노테이션(Annotation)에 관한 간략한 소개 (10) | 2007/01/14 |

