Не удается заставить HtmlReportPlugin работать в CruiseControl.NET


Я пытаюсь использовать HTML-отчеты, созданные моими модульными тестами, чтобы показать в CruiseControl.NET приборная панель, но я не знаю, где я ее накручиваю.

Мой отчет сгенерирован в "CCNetWorkingDirectory". В моем " CCNet.файл config " я использую задачу слияния файлов для копирования отчета в мой "CCNetArtifactDirectory". Это шаг, который не работает. Я пробовал это разными способами. У меня есть:

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

Какими должны быть пути в моем конфигурационном файле? Мой построение прерывается с сообщением:

"Невыполненные Задачи: MergeFilesTask"

Я действительно не знаю, что делаю не так.
2 2

2 ответа:

Я наконец-то решил эту проблему.

В моей ccnet.файл config в узле publishers я должен скопировать отчет.html вот такой:

<publishers>
  <merge>
    <files>
        <file action="Copy">PathToWorkingDirectory\report.html</file>
    </files>
  </merge>
  <xmllogger />
  <artifactcleanup cleanUpMethod="KeepLastXBuilds"
                   cleanUpValue="50" />
</publishers>

Файл будет скопирован в каталог артефактов в папку с именем, подобным метке сборки. Это должно быть сделано по соображениям безопасности:

Расположение источника HTML
Этот плагин может отображать любой файл, который находится в папке сборки в папке артефактов для проекта. Он не может отображать файлы из любого другое место (по соображениям безопасности).

Чтобы отобразить HTML-отчет, вам просто нужно добавить эту строку на панель мониторинга .config :

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

Эта строка должна быть помещена под узлом buildPlugins.

<buildPlugins>
  <buildReportBuildPlugin>
    <xslFileNames>
      <xslFile>xsl\header.xsl</xslFile>
      <xslFile>xsl\modifications.xsl</xslFile>
    </xslFileNames>
  </buildReportBuildPlugin>
  <buildLogBuildPlugin disableHighlightingWhenLogExceedsKB="50"/>
  <htmlReportPlugin description="HRMLReport" actionName="htmlreport" htmlFileName="report.html" />
</buildPlugins>

После выполнения этих шагов ваш отчет должен отобразиться, если вы перейдете на панели мониторинга к сборке, которая генерирует файл. Там должна быть ссылка под названием HTMLReport .

Быстрая Версия:

Обратите внимание на все примеры по адресу:

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>

Вам нужно слиться .xml - нет .htm (l).

Более Длинная Версия:

Задача слияния объединяет ~xml.

Всякий раз, когда есть сборка, есть "MyBuildResults.xml "файл, который я называю"супер-xml".

Если у вас есть инструмент (например, NUnit(консоль).exe например), что инструмент будет выталкивать файл, " NUnitTestResults.XML".

CruiseControl.NET задача слияния будет тогда принимать "NUnitTestResults.xml "(оперативная вещь, это XML) и "слияние" этого в MyBuildResults.xml (опять же, XML).

В этом есть смысл. Вы можете объединить XML с другими XML. Как вы можете взять любой файл и объединить его в любой файл, включая an .HTML-файл. Если вы объединяете HTML, что происходит в первую очередь? Последний? Середина?

Теперь, когда у вас есть окончательный " MyBuildResults.xml", есть .XSL файлы, которые преобразуют это в .html, который появляется в CruiseControl.NET веб-страница проекта.

Вы заметите связку ссылок (слева) на CruiseControl.NET веб-страница...один из них - "результаты теста Нунит". Но из коробки, Если вы нажмете на нее, ничего не появится.

Это потому, что нет NUnitTestResults.формата XML "сливаются в" супер-строить XML-файл.

Если вы найдете .xsl файлы, которые CruiseControl.NET устанавливает для вас (или вы установили после факт), взгляните на те, что покажут вам, как это делается .xsl-преобразования XML-коде "супер-строить-в XML".