contents

preface
acknowledgments
about this book
about the authors
about the cover illustration

Part 1 Make it happen

Chapter 1 Understanding continuous integration
What does it mean to integrate continuously?
A simple Hello World-type CI example
CI tools
A project for CI: leasing/credit calculator
Summary
Chapter 2 Setting up a source control system
Choosing the right source control system for you
Setting up a Subversion source control server
TortoiseSVN and working with the repository
Setting up Team Foundation Server
Summary
Chapter 3 Automating the build process
Build automation
The Microsoft worker: MSBuild
The happy couple: Visual Studio and MSBuild
Extending MSBuild by writing and using custom tasks
Summary
Chapter 4 Choosing the right CI server
A quick review of the CI process
Examining the CI server possibilities
Continuous integration with CruiseControl.NET
Continuous integration with TeamCity
Continuous integration with Team Foundation Server 2010
Summary
Chapter 5 Continuous feedback
Knowing the state of your CI process
Continuous feedback with CruiseControl.NET
Continuous feedback with TeamCity
Continuous feedback with Team Foundation Server
Extending build notifications
Summary
Chapter 6 Unit testing continuously integrated code
Unit testing from a bird's-eye view
First encounters with unit testing
Microsoft unit testing framework
Summary

Part 2 Extend it

Chapter 7 Performing integration, system, and acceptance testing
Extending your CI test repertoire
Up close and personal with integration tests in CI
Testing the user interface
Acceptance testing with FitNesse
Summary
Chapter 8 Analyzing the code
Analyzing object code with FxCop
Analyzing C# with StyleCop
Custom FxCop and StyleCop rules
Extending code analysis
Summary

Part 3 Smooth and polish it

Chapter 9 Generating documentation
XML documentation
Sandcastle
Summary
Chapter 10 Deployment and delivery
Creating an installer for your Windows application
Windows Installer XML toolset
ClickOnce deployment
Web Deployment Tool
Summary
Chapter 11 Continuous database integration
What is continuous database integration?
Rolling your own continuous database integration
Continuous database maintenance with RoundhousE
Continuous database maintenance with Visual Studio
Summary
Chapter 12 Extending continuous integration
Speeding up CI
Seven deadly sins of slow software builds
Scaling CI
Legal roadblocks
Maturity model for CI
Summary
          index