Continuous Integration in .NET
Continuous integration is a software engineering process designed to minimize "integration hell." It's a coordinated development approach that blends the best practices in software delivery. For .NET developers, especially, adopting these new approaches and the tools that support them can require rethinking the development process altogether.
Continuous Integration in .NET is a tutorial for developers and team leads that teaches readers how to re-imagine their development strategy by creating a consistent continuous integration process. This book shows how to build on the tools they already know–.NET Framework and Visual Studio–and to use powerful software like MSBuild, Subversion, TFS 2010, Team City, CruiseControl.NET, NUnit, and Selenium.
Review By: Mark Cole
04/20/2012
Continuous Integration (CI) is easy to explain. Whenever a source code change is made in an application, the change is instantly integrated into the build so we instantly know whether it causes any problems or not. Here is how Continuous Integration in .NET by Marcin Kawalerowicz and Craig Berntson defines CI:
An automated process that builds, tests, analyzes, and deploys an application to help ensure that it functions correctly, follows best practices, and is deployable. The process runs each source code change and provides immediate feedback to the development team.
If it is that easy, then why don't we do it and not just read about it? How difficult can it be to kick off a build process whenever there's a change in the source code? Well, we need to use the best software tools and practices and do it right—hence this book, a manual for CI that perhaps we should read before we attempt to make it happen.
One goal is to get the code to compile quickly—under five minutes. While reading this book, I kept looking for how this would be possible for a large build. The book gets to this point, but not until the last chapter. There are the "seven deadly sins of slow software builds," all of which seem fixable. However, if you got all of the tools in this book working together, I doubt very much that the total time to run the process would be five minutes. I think the author doesn't think so either, so some of the testing would happen automatically overnight or over the weekend and not be included in each automatic build.
This book is a nice resource to have if you are involved in CI. It will show you how to leverage open source and Microsoft tools to create CI in .NET that rocks!