Getting F# Running on a Continuous Integration Server

Tuesday, August 17th, 2010

Getting the NBody.NET project migrated to Visual Studio 2010 has been a somewhat drawn out process as I’ve hit a few snags along the way. I don’t install VS 2010 on my CI server so this means installing sufficient prerequisites to build the project. Essentially the .NET 4 Framework ...

Mercurial + PowerShell

Thursday, January 28th, 2010

My last couple of posts have been about Mercurial. I keep discovering new things I like about it. Combining it with PowerShell also presents some exciting possibilities. I have a couple of PowerShell scripts I’ve used for building stuff for a while. This one for instance. ...

Conditional Acceptance Tests with xUnit.net

Tuesday, September 8th, 2009

I’ve been using xUnit.net to run some basic acceptance tests. Obviously xUnit is a unit test framework first and foremost but I don’t have a problem with reusing the framework provided you’re really clear about which tests are unit tests and which tests are not. I created an AcceptanceTest ...

Distributed Agile Development at Microsoft Updated

Friday, August 14th, 2009

A while back I wrote a white paper on Distributed Agile Development at Microsoft patterns & practices based on the experiences of the distributed teams at Microsoft patterns & practices. There were a couple of things that didn't make it into the paper which should have and in the year ...

Big Visible Charts,Continuous Integration and Distributed Teams

Thursday, August 13th, 2009

What are Big Visible Charts? Ron Jeffries defines them as: “A simple chart on the wall can bring important information to the attention of the team, the customer, and everyone else who passes through the area.” - Ron Jeffries You’ll ...

Making Sure FxCop Warnings and Errors Break the Build

Thursday, June 18th, 2009

FxCop is a great tool but one thing I don’t like is that there’s no simple way to cause an MSBuild script to fail when it encounters an FxCop issue. FxCopCmd.exe doesn’t fail when it finds an error or warning. It returns an error exit code when a catastrophic failure ...

Resources for Continuous Integration and Defense In Depth

Friday, June 12th, 2009

Thanks to everyone who attended my talk yesterday at the South Sound .NET Users Group. The slide deck is available on my talks page (and by clicking on the image to the right). As usual it includes speaker notes so isn’t just a series of meaningless pictures. We (p&p) may also ...

I’m Speaking at the South Sound .NET Users Group

Wednesday, June 10th, 2009

This was postponed due to epic flooding earlier in the year but it's back on for Thursday night (June 11th). Continuous Integration and Defense In Depth: Experiences at Microsoft Continuous Integration (CI) is the practice of building and testing the application ...

Gotchas: Getting C++ Projects Building on a CI Server

Friday, May 1st, 2009

The other day I added a VC++ project to my main solution file and all hell broke loose on the TeamCity CI server. Errors like this started appearing. D:\TeamCity\buildAgent\work\71a700fe606e0795\trunk\NBody.sln error MSB3411: Could not load the Visual C++ component "VCBuild.exe". If the component is not installed, either ...

I’m Speaking at the South Sound .NET Users Group

Wednesday, January 7th, 2009

Postponed - Due to flooding, road closures and the impending end of life as we know it. We'll be rescheduling in April. I'm speaking tomorrow night (8th Jan) at the South Sound .NET Users Group in Olympia on Continuous Integration and some of the tricks we've used at Microsoft to get ...