TeamCity получает fxcop и покрытие отчета в артефактах сборки через пути артефактов - PullRequest
1 голос
/ 26 мая 2011

Я пытаюсь получить результаты fxCop xml и rangereport.xml для публикации в артефактах после сборки.

Ниже приведено следующее:

%system.teamcity.build.tempDir%/fxcop-output*/fxcop-result.xml => BuildLog/FxCop
%system.teamcity.build.tempDir%/teamcity*ncover/CoverageReport.xml => BuildLog/Coverage

, ноКаталог результатов имеет следующий формат

BuildLog --> Coverage --> teamcity8681981431807223307ncover --> CoverageReport.xml
BuildLog --> FxCop --> fxcop-output-3810116228914218788 --> fxcop-result.xml

Мне любопытно, что мне делать, чтобы сделать его похожим на следующий без структуры папок.

BuildLog --> Coverage --> CoverageReport.xml
BuildLog --> FxCop --> fxcop-result.xml

спасибо

1 Ответ

4 голосов
/ 26 мая 2011

Поскольку в определении источника артефакта присутствует звездочка (*), шаблон поиска может захватить более одного исходного файла.

Чтобы дифференцировать эти (теоретически несколько) файлы в выходном пути, TeamCity добавит совпадение для * - шаблона в выходную структуру, например, [...] teamcity 8681981431807223307 ncover [...]. Поэтому невозможно выбрать (потенциально) несколько файлов и сохранить их как один файл.

Возможно, другой подход - это ответ. Вы можете написать сценарий MSBuild, который использует TeamCity Build Script Interaction , похожую на эту:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
     ToolsVersion="4.0">

<ItemGroup>
  <FxCopResults Include="%system.teamcity.build.tempDir%/fxcop-output*/fxcop-result.xml" />
  <CoverageResults Include="%system.teamcity.build.tempDir%/teamcity*ncover/CoverageReport.xml" />
</ItemGroup>

<Target Name="PublishArtifacts">
  <Message Text="##teamCity[publishArtifacts '%(FxCopResults) => BuildLog\FxCop'" />
  <Message Text="##teamCity[publishArtifacts '%(CoverageResults) => BuildLog\Coverage'" />
</Target>

Наконец, шаг компоновки TeamCity с модулем сборки MSBuild можно использовать для запуска цели msbuild «PublishArtifacts» в этом сценарии после выполнения шагов компоновки анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...