Monday, February 21, 2011

Cradiator : WPF frontend for CCNet

I've been working on improving my WPF skills, and what's better than making a WPF front-end for CCNet? Good thing is that this already exists : Cradiator.

I've made a fork on github, so that PandaWood (the maintainer of Cradiator) can pull in my changes as he wants. Since this is my first encounter with Git, I must admit that it takes some getting used to, but it works like a charm.

You can find my fork here.

I've made the following updates :
° added a server-regex, to filter on (build)server name
° added a name on the view
° shows the amount of projects fetched from the URL
° option 'Show only broken'
° option 'Show server name'
° option 'Show out of date' projects

A bit of explanation on the new options :

Show Only Broken

This shows only the broken projects according to selection (project name, category name, server name). If no broken projects are found a smiley and the view name are shown, so you know which view is ok.

Show Server Name

This just shows the server name below the projectname. Comes in handy when you have projects with the same name on different build servers. (Compile on Windows and on Linux for example)

Show Out Of Date

This shows the projects that are outside of an allowed time difference in minutes. The highest LatestBuildTime of all projects is taken. This comes in handy when you have projects(mostly on different build servers) that should do an action at a certain time. This option allows to show the projects which did not build, regardless if they are broken or not. For example the windows build machine was down from 20:00 to 23:00 hours, but we had a FullBuild defined at 22:00.
Now Cradiator shows that the FullBuild on the windows server did not take place.

I use this for some time at work, and it is great. This makes it a lot easier to keep an eye on all the installations I do with CCNet. Remember 80+ servers with each about 30 projects, this makes 2400 projects to watch, so some filtering is needed.

If you get the code and build it, you can see all the new options in action, I update the debugProjects file to show them without needing to point your buildserver.

Suggestions or remarks are welcome