One Minute Bottom Line
|I don’t think there is a better way to start CI in .NET than reading this book!
Nowadays developers hear every day in articles about miracles that Agile
do in development teams. Seasoned
developers sometimes find those practices a little bit naïve, while junior kids
spend hours asking themselves when they can start to write code, instead of
playing with post-it or boards.
But I think
there’s no one that meets Continuous
(CI) and doesn’t understand its value, instantly.
I’m one of
these people, so when I started to change my mind about development by looking
for better ways to release working code, I began to read here and there over
the Internet about tools that would help me to do it right in a .NET manner;
but I didn’t find a good enough resource to accomplish my requirements - no way
to get all I need, and all together.
today this is only a bad old story: now we can buy a copy of “Continuous Integration in .NET
and Craig Berntson
and start to enjoy CI in matter of hours!
decides to publish a book, it’s unlikely that their shelves would host a useless book. I’m a fan of this editor, for no other reason than this publication's quality. My enthusiasm for this book was at the same level as when I read a new edition of “C# in Depth
”, by my
hero, Jon Skeet
is well written, well organized, full enough about stuff to become operative even
if you are just a solo developer, without the help of a sysadmin or a skilled
CI coach. It is
organized in three parts: “Make it happen”, from chapter 1
to 6, put readers in the proper condition to start doing; part two, “Extend it”, helps us
to refine some roughs edges; while part three, “Smooth and polish it”, gives us
some inspiration about extending concepts, for example in databases.
chapter pushes the reader inside CI, starting with an introduction to what CI
stands for; after that we find a bird's eye
overview about tools and methods we have to use to do it right, making
clear concepts like versioning
, unit testing
and build automation
with a particular focus on reducing project risks and team member drawbacks
chapter helps readers to setup a Control Versioning System
(VCS); this kind of tool is quite popular, but if you don’t use it (or if you
use is it in the wrong way) this chapter will tell you all the things you have
to know, from theory to working environment; the protagonists are Subversion
and Team Foundation Server
I’m sad not to see almost one DVCS
(Distributed VCS), like Mercurial
, but this is only a little flaw.
is about build
, an essential part of CI. MSBuild
tool of choice, just for his great background in the whole Visual
guided development, but even NAnt
finds space here.
are now at a crossroads: what is the right CI server for our needs? Chapter 4
tries to help us make the best choice. In these pages we will learn to
and Team Foundation Server
(this one only for the bravest…); personally I think TeamCity is
the most interesting solution, even CC.NET is a solid and effective alternative
(if you are ready to pay the angle-bracket
We have a
code blender now, finally! :-)
Now we have
only to commit code, and wait… Oh no, my build is broken!
Chapter 5 helps readers to get notifications and feedback from their CI server,
learning basic tasks to operate when
things go wrong. Furthermore, we can get informed when code quality decreases,
and if you like fireworks, there’s a paragraph that will teach you how to integrate
a LED message board. :-)
6 we will learn the fine art of testing, in all its tones, making use of NUnit
the chapter is good enough to start, but if you want to get more from your
testing experience, the authors and I will recommend the great “Art of Unit Testing
”, by Roy Osherove
, another Manning best seller.
finishes here, and I can assure you that if you get these things working you
have made the most of your CI process already.
starts part 2; we find here some advanced topics, like acceptance testing
, UI testing
and integration testing
Things become more difficult here, but Marcin and Craig find a way to explain
it in the easiest manner. Topics are not analyzed in depth, but as a starting
point I can say this chapter is a good one. FitNesse
are some of the tools discussed.
makes the rules. Did you ever smell your code? Have you ever found it just
stinky? Well, eau de cologne is not the solution. :-)
feel you can write better code, but you cannot remember all the “best
practices” you have ever read, some tools like StyleCop
come in handy: we find here a way to set them up. NDepend
tool for duplicated code searching
have their mention of honor, too.
is not strictly related to CI, but gives us some interesting advice.
helps us generate better XML documentation with SandCastle
; chapter 10 talks about
deployment and delivery with WiX
and Chapter 11 tries to explain a thorny argument like CI in databases, using RoundHousE
. Chapter 12
points the readers to the next horizon, where simple CI users can become
At the end,
I can only confirm the great value of
, not only for the variety of tools discussed, but mainly for the
super fast effectiveness of setup procedures, that give us the opportunity to
make things work during the reading.
wanna do CI in .NET, don’t look further: this is “The Book”.