Unisci TestResults da più progetti .NET di Cruise Control
-
27-10-2019 - |
Domanda
In un ambiente SOA, ci sono molti progetti in Cruise Control .NET - Ho circa 30 al momento e ce ne saranno altri a venire. In CI il focus ristretto è una buona cosa, ma per me che vuole presentare statistiche sulla qualità del codice e altre metriche per il team nel suo insieme è un po 'frustrante raccogliere i dati da tutti i progetti. Quindi mi chiedo: qualcuno ha realizzato una sorta di progetto di riepilogo? Con CCNETS MergeSask dovrebbe essere fattibile fintanto che non hanno lo stesso nome giusto?
Soluzione
Non era un problema
Ho aggiunto un nulltask per generare una build verde e un'attività di unione con un gazillion riferimenti a tutti gli altri progetti. Le statistiche XPaths si aspettavano solo un rapporto di ogni tipo, quindi hanno bisogno di una modifica, ma è così.
Idealmente era stato un modo per copiare tutti i rapporti di ciascun progetto a StatisticsProject, ma le correzioni di denominazione e pulizia hanno reso quella soluzione molto più complessa. Finché non creiamo più di una manciata di nuovi progetti in uno sprint, questo è indolore.
esempio:
<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>