Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Sunday, January 22, 2012

Continuous Integration in .NET Book Review

I still remember the first time I was on a project that used NAnt and CruiseControl.NET. It was years ago and both were new tools with plenty of bugs. The project manager took one of the team's architects and dedicated him to getting CI up and running. I didn't work with him for another 9 months. It was a complete nightmare. Every morning was dedicated to finding out why the builds failed, fixing the issue, and then manually rerunning the builds until successful. Then it was off to show management the new build reports. It didn't take long for them to not want to be hassled with the process. A year after it all began the code base was removed from the CI process and went back to manual builds.

Not a very good story to start the review of a book on CI that I highly recommend you read. Times have changed, the tools have improved, and with books like this available you have no reason to not give CI a go. You may have plenty of excuses, but no reasons. Luckily this book contains a nice summary of excuses commonly used and does a nice job of debunking them.

The book starts off with a chapter titled Understanding continuous integration which gives a nice overview of CI and introduces the CI tools. They include source control, CI server, feedback mechanism, build manager, unit test framework, documenting, and code-analysis tools.

The book continues with chapters on Setting up a source control system, Automating the build process, Choosing the right CI server, Continuous feedback, Unit testing continuously integrated code, Performing integration, system, and acceptance testing, Analyzing the code, Generating documentation, Deployment and delivery, Continuous database integration, and Extending continuous integration.

One of the things I like about the book is that it is .NET centric and not Microsoft centric. It introduces the Microsoft tools, other vendor's tools, and open source tools. For example Subversion, TFS, SourceSafe, Git, and Vault are introduced as source control options, Nant and MSBuild are introduced as build tools, and CruiseControl.NET, TFS 2010, and TeamCity as CI servers.

The authors do a great job of providing in-depth examples of the different tools and technologies. The example's accompanying downloadable code is very well organized and usable.

Although implementing CI can be a big change for a team, this book will definitely help educate you and your team on all the different tools available in the context of .NET projects. That give a big advantage when planning your team's path to CI.

All in all I highly recommend using CI on your projects, but I recommend reading this book first even more.

Continuous Integration in .NET

posted by tadanderson at 7:00 AM

0 Comments:

Post a Comment

<< Home

Previous Posts

  • Experiences of Test Automation: Case Studies of So...
  • Building Enterprise Systems with Open Distributed ...
  • Dependency Injection in .NET Book Review
  • .NET Architecture and Development Book Recommendat...
  • Decision Management Systems: A Practical Guide to ...
  • Model-Based Development: Applications Book Review
  • Sams Teach Yourself Java in 24 Hours (Covering Jav...
  • SharePoint 2010 Development with Silverlight Book ...
  • Essential Windows Phone 7.5: Application Developme...
  • Microsoft SharePoint 2010 Power User Cookbook Book...



Powered by Blogger