CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

David Hayden [MVP C#]

         .NET Tutorials, Patterns, and Practices

Expert .NET Delivery Using NAnt and CruiseControl.NET Book Review

Expert .NET Delivery Using NAnt and CruiseControl.NETOver the past month I have been spending a lot of time with NAnt. It is used a lot on my development teams, but I have never been the one responsible for configuring and integrating it into the build process. This left a bit of a gap in my knowledge of the build process, and hence I decided to pick up Expert .NET Delivery Using NAnt and CruiseControl.NET by Marc Holmes as a primer.

If I had to describe this book in one word, it would be thorough. IMHO, this book thoroughly examines NAnt and goes above and beyond on such topics like building NAnt taks, database integration and synchronization, and even talks about leveraging code generation using CodeSmith!

The book is nicely organized into easily digestible chunks that build upon previous learnings. It breaks up the subject as follows:

  • Importance of software delivery.
  • Details of NAnt and common tasks
  • Real-world case study using current learnings
  • Useful processes and standards such as refactoring, asset management, build file layout, etc.
  • Role of continuous integration using CruiseControl.NET
  • Creating NAnt tasks
  • Database Integration
  • Code Generation
  • Conclusion

The book really pumped me up about the whole software delivery process such that I have taken the process even further by investigating other tools, like FinalBuilder, as well as have all my personal projects on a build process that not only includes the basics, but also does: Documentation Generation Using Sandcastle, Code Coverage using NCover and NCoverExplorer, Zip file creation and delivery via FTP, and even Email and IM notification to other interested parties. The process astounds me and has opened my eyes.

The examples are great. It shows you how to interface with FxCop, NUnit, Visual SourceSafe, and various Red Gate Tools for database synchronization. It discusses basic assembly version using the <version> task as well as pitfalls for web projects. Aside from an error I found in the version sample code, I did most of the samples and they worked as expected.

The only thing I would have liked to have seen different in the book is more focus on VS 2005. The book assumes VS 2003, .NET 1.1, Visual SourceSafe, etc. I would have liked to have seen more focus on VS 2005, Subversion / Vault, Sandcastle as opposed to NDoc, etc. These are my preferences, however, and for the most part everything in the book applies no matter what your preference. Obviously there may be some timing issues with the publication of the book and the release of these technologies, too.

There is no fluff in the book. You get hardcore NAnt with a little taste of CruiseControl.NET, and I enjoyed it immensely.

by David Hayden



Comments

Benjy said:

I too found the book to be tremendously useful. I learnt my Nant from it and frequently refer to it while modifying or building new scripts.  It would seem rather obvious to follow this up with a book on VS2005/MSBuild so hopefully we can have another good resource.

The Microsoft UK SDC has some good SDC Best Practices documentation online (i think its at Gotdotnet) which explains how the SDC separates their various environments and the procedures involved. Theres a decent Enterprise Solutions Build Framework (from the UK SDC) explained on GDN which is a generic msbuild based build and deploy engine and has a bunch of ready to use tasks for msbuild.

cheers,

benjy

# November 17, 2006 7:38 AM
Check out Devlicio.us!

Our Sponsors

This Blog

Syndication

News

CodeBetter.Com Home