November 2008 - Posts

What causes automated builds to fail? - follow up

I had IT check the CVS server for any error event in the event log and we found that there were disk I/O errors that often occurred right around the same time as some (all?) of my mysterious CVS errors. IT dropped in some new hardware, but that still hasn't reduced the errors.

Looking in the event viewer, the errors are event (type) 15, category of none, and source is "disk".

The errors happen in 3 second groups...like from 11:21:08 through 11:21:10 there will be about 9 of these errors, a few each second.

Our current theory is that it's some sort of throttling issue where the sheer bulk of activity involved in doing the CVS update and CVS Labelling is just too much for our system. No real idea of a solution to fix it yet, but... there ya go.

We also modified our build schedule so that builds are not occurring at the same time as the daily backups. Again this has improved things to some degree. Another line of attack on that problem is doing some Spring Cleaning on our development servers to reduce the amount of items to be backed up. It's easy to consider disk space as 'cheap' -- and it is -- but there is still overhead to having a lot of disk space in use. So.. it's wise to go ahead and spend some time cleaning up the servers and doing the basics: delete the obsolete, archive the historical but no longer active data off to off-line storage, trash the 'let me just store this here temporarily' stuff, etc.

The roles of IT and Build engineers sometimes overlap, so do whatever you need to to maintain a good relationship with the hardcord IT guys. Me, I make it a point to find out what their favorite food is and bring them a treat every couple months. Beer

Learning to build on Linux and FreeBSD

Here's a fun new project!

My current build process uses CruiseControl on a (windows) machine to kick off an nant or msbuild build script that also runs on that same windows machine.

For one of my projects I've just been informed that we are branching out to other platforms.

The project is being ported to both Linux and FreeBSD. I know very little to nothing about either of these platforms. Yee haw! Tongue Tied

My first thought is that I'll use the same CruiseControl on a windows machine as the 'master' control on the build process, and have that kick off a win32 build on a windows build machine, and remotely kick off a linux build on a linux machine, etc. In this way we could have a single control point from which all flavors of the same build number could be produced.

I have no idea if this is doable, but... that's my starting thought.

First things first -- I've asked for a VM (virtual machine) of a linux machine so that I can start the research process on linux.