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?
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>