2010-02-08 6 views
1

빌드 시스템을 설정 중이며 대시 보드의 "프로젝트 보고서"섹션과 빌드 실패 전자 메일에서 빌드가 실패한 작업을 표시하려고합니다. 순간 CruiseControl.NET에서 실패한 작업보고하기.

나는 세 가지 작업이 있습니다

  • SourceControl
  • MSBUILD
  • 단위 테스트 (CC.Net에서 간부 인 작업을 gallio.echo 사용)

을 만약 중 하나 후자의 두 사람은 전자 메일 또는 빌드 보고서 페이지에서 작업이 빌드를 실패한 것으로 분명하지 않습니다. 로그를 통해 오류가 발생한 위치를 찾아야합니다. 첫눈에서 어떤 작업이 실패했는지 최소한 알고 싶습니다.

여기에 최고의 CruiseControl을 하는가이다 - 대시 보드 홈페이지에서 : 클릭 할 때

  1. 실패한 작업이 표시되지 않은 :

    msbuild fail http://img38.imageshack.us/img38/1018/msbuildfail.png 이제 alt text http://img25.imageshack.us/img25/4688/galliofail.png

    이 충분하지 않습니다 프로젝트 또는 해당 빌드에 대한 빌드 보고서.

  2. 이 정보는 로그 파일에서 전혀 사용할 수 없습니다. 이것은 이벤트를 XSL을 해킹하여 이메일로 가져올 수 없다는 것을 의미합니다.

  3. 내 빌드 작업이 유일한 MSBuild 작업이기 때문에 MSBuildTask라고해도 괜찮습니다. 실행 가능한 작업의 경우에는 그렇지 않습니다. 적어도 하나 또는 두 가지가 실패 할 수 있기 때문입니다. 나는 그들에게 설명적인 이름을 줄 필요가있다. 내 Gallio exec 작업에 설명 노드가 있지만 어디에 사용되는지 잘 모르겠습니다.

    <exec>
    <description>Unit Tests</description>
    <executable>$(path.gallio)</executable>
    </exec>

답변

1

우아한 해결책은 아니지만 다소 정적 인 경우라도 대상의 OnError 속성을 사용하여 로그를 남길 수 있습니다. 다른 옵션은 각 성공적인 단계를 기록한 다음 XSL last()를 사용하여 마지막으로 성공한 단계를 얻는 것입니다. 그것은 빤다, 그러나 적어도 당신이 전에보다는 좀더이다.

+0

쿨, 나는 그걸 시도하려고 노력할 것이다. –

0

당신이 MSBuild를하고 갈 리오 작업의 출력을 병합하지 않는 나에게 보인다. 내 머리의 상단에서 올바른 구문을 기억하지 못한다. (그리고 CruiseControl.NET 웹 사이트가 다운 된 것 같다.)하지만 설정 파일을 게시하면 도움을 줄 수있다.

+0

네, 로그가 병합됩니다.'xmllogger' 노드 앞에있는 'publishers' 섹션에서 완료됩니다. msbuild와 gallio 작업의 모든 것들이 로그 파일에 저장됩니다. CruiseControl은 그것에 대해 아무 것도하지 않습니다. –

3

저는 ccnet의 개발자 중 한 명입니다. 문제가 기록되었습니다. http://jira.public.thoughtworks.org/browse/CCNET-1825

+0

그 일을 해 주셔서 감사합니다. –

+0

문제가 해결되었습니다. 6910 또는 그 이상에서 빌드를 가져 가라. 이제 대시 보드 및 cctray에서 작업에 대한 설명을 볼 수 있습니다. 다른 필요가 있으면 언제든지 저희에게 연락하십시오. http://groups.google.co.kr/group/ccnet-user http://groups.google.com/group/ccnet-devel – Williams