2

CruiseControl.NET 대시 보드에 표시 할 단위 테스트에서 생성 된 HTML 보고서를 사용하려고하지만 그 곳을 scewing하고 있습니다.CruiseControl.NET에서 작동하도록 HtmlReportPlugin을 가져올 수 없습니다.

"CCNetWorkingDirectory"에 내 보고서가 생성되었습니다. 내 "CCNet.config"파일에서 File Merge Task을 사용하여 "CCNetArtifactDirectory"에 보고서를 복사합니다. 이것은 작동하지 않는 단계입니다. 나는 여러 가지 방법으로 시도했다. 나는 가지고있다 :

<publishers> 
    <merge> 
     <files> 
      <file> 
       Index.html 
      </file> 
      <file action="Copy"> 
       rep\Index.html 
      </file> 
     </files> 
    </merge> 
    <xmllogger/> 
</publishers> 

나의 구성 파일에있는 경로는 무엇이어야 하는가? 메시지와 함께 내 빌드 나누기 :

"실패 작업 : MergeFilesTask"

난 정말 내가 잘못하고있는 중이 야 모르겠어요.

답변

1

마침내 문제가 해결되었습니다.출판사에서 내 을 ccnet.config 파일 노드에서

나는이 같은 report.html을 복사 할 수 있습니다

파일은 같은 이름의 폴더로 이슈 디렉토리에 복사됩니다
<publishers> 
    <merge> 
    <files> 
     <file action="Copy">PathToWorkingDirectory\report.html</file> 
    </files> 
    </merge> 
    <xmllogger /> 
    <artifactcleanup cleanUpMethod="KeepLastXBuilds" 
        cleanUpValue="50" /> 
</publishers> 

빌드 레이블. 이는 보안상의 이유로 수행해야합니다 :

HTML 소스 위치
을이 플러그인이 유물은 프로젝트 폴더에서 빌드 폴더에있는 모든 파일을 표시 할 수 있습니다. 보안상의 이유로 다른 위치의 파일을 표시 할 수 없습니다.

<htmlReportPlugin description="HRMLReport" actionName="htmlreport" htmlFileName="report.html" /> 

이 줄이가 buildPlugins 노드 아래에 배치되는 :

는 단순히 dashboard.config이 줄을 추가해야하는 HTML 보고서를 표시합니다.

대시 보드에서 파일을 생성하는 빌드로 이동하면이 단계를 수행해야 보고서가 표시됩니다. HTMLReport이라는 링크가 있어야합니다.

0

빠른 버전 :

http://www.cruisecontrolnet.org/projects/ccnet/wiki/File_Merge_Task

는 "* .XML"파일입니다 :에서

참고 모든 예제.

<merge> 
    <files> 
    <file>Nunit*.xml</file> 
    <file>FXCop.xml</file> 
    <file>resources\**\*.xml</file> 
    <file>E:\CruiseControl\BuildRoot\ProjectX\**\coderesults.xml</file> 
    <file>E:\CruiseControl\BuildRoot\Project*\**\Business*.xml</file> 
    </files> 
</merge> 

.htm (l)이 아닌 .xml을 병합해야합니다.

긴 버전 :

병합 작업을 병합 ~ XML.

빌드가있을 때마다 "super-xml"이라고하는 "MyBuildResults.xml"파일이 있습니다.

도구 (예 : NUnit (console) .exe)가 있으면 해당 도구는 "NUnitTestResults.xml"파일을 푸시합니다.

CruiseControl.NET 병합 작업은 "NUnitTestResults.xml"(작동하는 것, XML 임)을 가져 와서 MyBuildResults.xml (다시 XML)에 병합합니다.

그런 의미가 있습니다. XML을 다른 XML로 병합 할 수 있습니다. 어떻게하면 모든 파일을 가져 와서 .html 파일을 포함한 모든 파일에 병합 할 수 있습니까? HTML을 병합하면 무엇이 먼저 나옵니까? 마지막? 중간?

마지막으로 "MyBuildResults.xml"이 완성되면 CruiseControl.NET 프로젝트 웹 페이지에 표시되는 .html로 변형되는 .XSL 파일이 생성됩니다.

CruiseControl.NET 웹 페이지의 링크 (왼쪽)에 "NUnit Test Results"라는 링크가 있음을 알 수 있습니다. 그러나 상자 밖으로 클릭하면 아무 것도 표시되지 않습니다.

NUnitTestResults.xml이 super-build-xml 파일에 "병합"되어 있지 않기 때문입니다.

CruiseControl.NET이 설치 한 (또는 사실 이후에 설치 한) .xsl 파일을 찾으면 .xsl이 "수퍼 빌드"의 XML을 변환하는 방법을 보여주는 파일을 살펴보십시오. -xml ".

+0

자세한 답변을 보내 주셔서 감사합니다. 하지만 XML 병합을 이해하고 물론 당신이 말한 것과 똑같이 작동합니다. – scro

+0

오른쪽. 그리고 비 xml 파일, 일명, html 파일을 병합하려고합니다. 그게 문제 야. – granadaCoder

+0

죄송합니다. 의견을 쓸 때 방해 받았습니다. 그래서 내 문제는 내가 어떻게 [HTML Report Plugin] (http://www.cruisecontrolnet.org/projects/ccnet/wiki/HtmlReportPlugin)을 사용할 지 모른다는 것입니다. HTMLReportPlugin을 이해하는 방법은 내가 내 작업 디렉토리에 html 보고서를 넣었습니다. 그러나 CruiseControl 대시 보드는 아티팩트 위치에있는 html 페이지 만 표시 할 수 있으므로 [File Merge Task] (http://www.cruisecontrolnet.org/projects/ccnet/wiki/File_Merge_Task)를 사용해야합니다. 복사하려면 내 arifacts dir에 파일. HTMLReportPlugin에 대한 경험이 있습니까? – scro

관련 문제