커밋모니터는 http://stefanstools.sourceforge.net/ 에서 배포하는 SVN 소스에 새로운 커밋이 있는지 알려주는 매우 프로그램이다. 이 프로그램은 커밋이 있는 경우 실행시킬 프로그램을 지정할 수 있는데 commit-build.cmd 를 이용하여 지속적 빌드 통합(CI)을 구현할 수 있다. 프로젝트를 시작하면서 CI서버가 없는 상태에서 간단히 빌드깨짐 체크할 때 유용하다.
1. 날짜와 시간으로 폴더를 만들고
2. 여기에 새로운 소스를 내려 받아서 (소스크기가 크다면 매번 같은 폴더에 업데이트 받도록 할 수 있지만 릴리스 빌드는 SVN의 코드를 새로운 폴더로 내려받아 Clean한 상태에서 빌드하는 것임,)
3. 빌드를 돌려서
4.1 빌드 성공시 기타 테스트 코드 실행
4.2 빌드 실패시 노티
이런 식으로 꾸밀 수 있겠다.
commit-build.cmd
set TRUNK="%date%_%time%"
set TRUNK=%TRUNK::=;%
set svn="C:\Program Files\VisualSVN Server\bin\svn.exe"
mkdir %TRUNK%
cd %TRUNK%
%svn% export https://abc.com/svn/LT2/trunk
cd trunk
cd build
call build_All.bat
if not "%ERRORLEVEL%" == "0" goto ERROR
:OK
exit /b 0
:ERROR
exit /b 1
노티는 메일로 받는 것이 가장 일반적인데, 개인 개발자는 이것이 쉽지 않다. 옛날에 프로젝트를 할 때 크래시가 발생하면 크래시 덤프 파일을 서버로 자동으로 올리고 나서 나의 트위터 계정으로 OPEN API를 통해서 글을 남기도록 구현해 본 적이 있는데 이방식이 꽤 유용했던 것 같다.