대충 어제를 기점으로 삽질은 완전히 끝난듯한데, 그 동안 CruiseControl.NET을 처음 깔아보는 프로그래머(=rein)가 할만한 삽질들을 정리해보겠다. 우선 설치 과정 전체는 KAISTIZEN 님의 CruiseControl.NET 설치 일지 를 따라 갔다. 전체 과정이 잘 정리되어있으니 매우 유용한 페이지다.
IIS 설정에서 ASP.net 의 버젼을 1.1.x 대신에 2.0.x 이상을 사용해야 한다. 그렇지 않으면 IIS에 등록한 파일 형식이 이상하다는 식의 에러를 뱉는다(그것도 로컬 접속에서만 볼 수 있는 형태로 -_-;; )
기본적으로 이 기능이 꺼져있는데,, 이 기능을 통해서 구현되는 페이지 - 각 프로젝트(ccnet.config의 Project 섹션에 대응)의 Statistics 페이지 - 의 경우 예쁘지 않은(…) 예외;exception을 던지면서 죽는다. 프로젝트 설정에
<publishers>
<xmllogger/> <!–for CC.NET–>
<statistics/> <!–for statistics page–>
</publishers>
이런 부분이 들어가 줘야 한다. 문제는 작업할 때 메일링 리스트만 보고 <statistics /> 항목만 추가 해줬더니 이젠 전체 히스토리 페이지에서 예외가 발생하는 것(…). xmlloger 를 발행하는 부분이 CC.NET 전체의 히스토리나 로그 뷰를 제공하기 때문에 저 부분이 빠지면 제대로 안되는 것에 주의.
이 부분은 전혀 감이 안잡혔는데, 이 역시 KAISTIZEN 님의 UnitTest++ 연동 부분을 따라했다. 여기서도 삽질한 부분이 있다. 위의 연속이긴 한데, 로그 파일 합치는 부분(merger)을 나중에 추가 했다고 publishers 부분의 뒷부분에 붙였더니 제대로 출력이 되질 않는다. 즉, 다음과 같은 순서가 되야 한다.
<publishers> <merge> <files> <file>Path_To_UnitTest++\Output\XmlFile.xml</file> </files> </merge> <!-- merge가 xmllogger보다 앞임 --> <xmllogger/> <statistics/> </publishers>
실제 xmllogger가 처리하는 부분이 우리가 실제로 보게되는 페이지 - 에 해당하는 xml 출력이 - 라서 그 부분 이전에 빌드 결과가 xmllogger에 의해 처리되어버리면 UnitTest++결과를 볼 수 없게 된다(…). 그러니 순서에 주의.
다만 전체 통계 페이지에서도 통계를 보고싶은데 오늘 수정한 xsl이 제대로 동작하지 못하는 것인지 통계를 제대로 못 얻어내더라(테스트 결과에 대한 것들에 대해서). 이건 해결하게되면 다시 포스팅을 하던가 해야.
이건 삽질했다기보단 Visual C++ 기반으로로 빌드를 해야해서 좀 선택하거나 고민할게 많아서 써보는 얘기다. CruiseControl.NET이 C#을 위해서는 정말 완벽한 지원 - 특히 NAnt와 NUnit 지원이 멋짐 - 이지만 C++의 경우엔 저렇게 널리 쓰인다고 할만한 빌드 팩키지가 없다. 그래서 그런지 몇 가지 대안으로 쓸만한 것들이 존재한다.
별로 설정할게 없어서 편하긴한데, ccnet.config 에 추가해야할 줄이 무지 많다. 솔루션이 추가될 때마다 CruiseControl의 설정을 건드려야 하는 것도 문제고, 빌드 자체가 안될 때 디버깅 하기도 좀 난감하다.
뭐 이 정도가 지금 당장(…) 생각나는 설정 삽질이다. 이 이후에도 뭔가 삽질을 하면 포스팅 해보도록 하겠다(…).
No comments yet.
Jump to comments