Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cruise Control .NET time build spends in failed state

My team has a goal to minimize the amount of time that our build is broken.

We use CruiseControl.NET for continuous integration. What I'd like to find out is how best to approach answering the following question:

"In the last {timespan}, how much time has {project-name} spent in a broken status?"

For example: "Over the last 1 month, how much time has our project spent in a broken status?"

Are there any advanced features of CruiseControl.NET that would facilitate making this information available in some type of a report or somewhere in the dashboard?

Alternatively, how would you approach parsing the xml artifact files to glean this info?

like image 241
bhazzard Avatar asked Jan 18 '10 22:01

bhazzard


3 Answers

you can use the statistics publisher, http://www.cruisecontrolnet.org/projects/ccnet/wiki/Statistics_Publisher and you can display them via project statistics plugin

like image 125
Williams Avatar answered Nov 15 '22 23:11

Williams


I see at least two ways to approach this:

  1. You write an external tool which parses CC.NET's XML log files for a project (stored in buildlogs subdirectory by default), calculates statistics and writes a HTML report. This is probably easier to do, but it won't be directly integrated with CC.NET.
  2. You write a CC.NET plug-in to do this. You'll need to do a bit of investigating in this case. My guess the starting point would be to look at the source code of some existing plug-in.

Here are some links about CCNET plugins:

  • http://www.cruisecontrolnet.org/projects/ccnet/wiki/DevInfo_MakingPlugins
  • BrekiLabeller - my own plug-in, useful if you want to see how a plug-in can be implemented.
like image 31
Igor Brejc Avatar answered Nov 15 '22 22:11

Igor Brejc


Having had a very quick look at the CC docs, I imagine if you were writing your own Cruise control dashboard, you could consume the RSS feed of build results, parse in all the date times and success/failure states up to your threshold, then sum up the totals.

As for displaying it in a dashboard, I think Cruise Control has a plugin architecture which might help http://cruisecontrol.sourceforge.net/main/plugins.html

like image 1
Andrew M Avatar answered Nov 15 '22 23:11

Andrew M