merge testresults from multiple cruise control .net projects

322 views Asked by At

In a SOA - environment there tend to be a lot of projects in Cruise Control .net - I have about 30 at the moment and there will be more to come. In CI the narrow focus is a good thing but for me who want to present statistics of code quality and other metrics for the team as a whole it is a bit frustrating collecting the data from all the projects. So I wonder: Has anyone made some kind of summary project? With ccnets mergetask it should be doable as long as they don´t have the same name right?

1

There are 1 answers

1
zzzuperfly On BEST ANSWER

It was no problem whatsoever

I added a nulltask to generate a green build and a merge task with a gazillion references to all the other projects. the statistics xpaths expected only one report of each type so they need some tweaking but that's that.

Ideally had been a way to copy all the reports from each project to the statisticsproject - but the naming and cleanup fixes made that a lot more complex solution. As long as we don´t create more than a handful new projects in a sprint this is painless.

example:

 <triggers>
      <intervalTrigger seconds="$(MyTimeBetweenChecks)" name="continuous" buildCondition="IfModificationExists" />
      <scheduleTrigger time="23:55" buildCondition="ForceBuild" name="ContinousTriggerNightly">
      </scheduleTrigger>
    </triggers>
    <tasks>
      <nullTask/><!-- returnerar success så projektet inte failar för det inget gör-->
    </tasks>
    <publishers>
      <merge>
        <files>


          <!-- nunit  NCover-NUnit-Results-->

          <file>$(ServerDictionary)TemplateService_All\Artifacts\NCover-NUnit-Results.xml</file>
          <file>$(ServerDictionary)InvoiceService_All\Artifacts\NCover-NUnit-Results.xml</file>
          <file>$(ServerDictionary)ContactService_All\Artifacts\NCover-NUnit-Results.xml</file>
         <!-- fxcopreport-->

          <file>$(ServerDictionary)TemplateService_All\Artifacts\fxcopreport.xml</file>
          <file>$(ServerDictionary)InvoiceService_All\Artifacts\fxcopreport.xml</file>
          <file>$(ServerDictionary)ContactService_All\Artifacts\fxcopreport.xml</file>
          <!-- ncover_symbolmodule-->

          <file>$(ServerDictionary)InvoiceService_All\Artifacts\ncover_symbolmodule.xml</file>
          <file>$(ServerDictionary)ContactService_All\Artifacts\ncover_symbolmodule.xml</file>
          <!-- ncover_SymbolModuleNamespaceClassMethod-->
          <file>$(ServerDictionary)ExportService_All\Artifacts\ncover_SymbolModuleNamespaceClassMethod.xml</file>
          <file>$(ServerDictionary)PackageService_All\Artifacts\ncover_SymbolModuleNamespaceClassMethod.xml</file>

        </files>
      </merge>