SOA 環境では、Cruise Control .net に多くのプロジェクトが存在する傾向があります。現在、約 30 のプロジェクトがあり、今後さらに増える予定です。CI では、焦点を絞ることは良いことですが、チーム全体のコード品質やその他の指標の統計を提示したい私にとっては、すべてのプロジェクトからデータを収集するのは少しイライラします。だから私は疑問に思います:誰かがある種の要約プロジェクトを作成しましたか? ccnets mergetask を使用すると、同じ名前でない限り実行できるはずですよね?
1 に答える
0
何の問題もなかった
グリーン ビルドを生成する nulltask と、他のすべてのプロジェクトへの無数の参照を含むマージ タスクを追加しました。統計 xpath は、各タイプのレポートを 1 つだけ想定していたため、微調整が必要ですが、それだけです。
理想的には、各プロジェクトから統計プロジェクトにすべてのレポートをコピーする方法でしたが、名前付けとクリーンアップの修正により、ソリューションがより複雑になりました。スプリントで少数の新しいプロジェクトを作成しない限り、これは簡単です。
例:
<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>
于 2011-02-28T11:54:16.720 に答える