Continuous Integration in .NET
Marcin Kawalerowicz and Craig Berntson
  • March 2011
  • ISBN 9781935182559
  • 328 pages
  • printed in black & white

A great resource with a good mix of open source and Microsoft tools.

Erik D. Lane, Ciena Corporation

Continuous integration (CI) combines frequent integration, constant readiness, short build feedback cycles, persistent testing, and a fl exible approach to system requirements. Adopting these practices, and the supporting tools, requires rethinking your entire development process.

Continuous Integration in .NET shows you how to reimagine your development strategies by creating a consistent continuous integration process. You'll use Visual Studio along with tools like Subversion, MSBuild, TFS, TeamCity, NUnit, and Selenium. And because CI is as much about the culture of your shop as the tooling, this book provides clear guidelines for starting and maintaining projects, along with metrics for measuring project success.

Table of Contents show full

preface

acknowledgments about this book about the authors about the cover illustration

Part 1 Make it happen

1. Chapter 1 Understanding continuous integration

1.1. What does it mean to integrate continuously?

1.2. A simple Hello World-type CI example

1.3. CI tools

1.4. A project for CI: leasing/credit calculator

1.5. Summary

2. Chapter 2 Setting up a source control system

2.1. Choosing the right source control system for you

2.2. Setting up a Subversion source control server

2.3. TortoiseSVN and working with the repository

2.4. Setting up Team Foundation Server

2.5. Summary

3. Chapter 3 Automating the build process

3.1. Build automation

3.2. The Microsoft worker: MSBuild

3.3. The happy couple: Visual Studio and MSBuild

3.4. Extending MSBuild by writing and using custom tasks

3.5. Summary

4. Chapter 4 Choosing the right CI server

4.1. A quick review of the CI process

4.2. Examining the CI server possibilities

4.3. Continuous integration with CruiseControl.NET

4.4. Continuous integration with TeamCity

4.5. Continuous integration with Team Foundation Server 2010

4.6. Summary

5. Chapter 5 Continuous feedback

5.1. Knowing the state of your CI process

5.2. Continuous feedback with CruiseControl.NET

5.3. Continuous feedback with TeamCity

5.4. Continuous feedback with Team Foundation Server

5.5. Extending build notifications

5.6. Summary

6. Chapter 6 Unit testing continuously integrated code

6.1. Unit testing from a bird’s-eye view

6.2. First encounters with unit testing

6.3. Microsoft unit testing framework

6.4. Summary

Part 2 Extend it

7. Chapter 7 Performing integration, system, and acceptance testing

7.1. Extending your CI test repertoire

7.2. Up close and personal with integration tests in CI

7.3. Testing the user interface

7.4. Acceptance testing with FitNesse

7.5. Summary

8. Chapter 8 Analyzing the code

8.1. Analyzing object code with FxCop

8.2. Analyzing C# with StyleCop

8.3. Custom FxCop and StyleCop rules

8.4. Extending code analysis

8.5. Summary

Part 3 Smooth and polish it

9. Chapter 9 Generating documentation

9.1. XML documentation

9.2. Sandcastle

9.3. Summary

10. Chapter 10 Deployment and delivery

10.1. Creating an installer for your Windows application

10.2. Windows Installer XML toolset

10.3. ClickOnce deployment

10.4. Web Deployment Tool

10.5. Summary

11. Chapter 11 Continuous database integration

11.1. What is continuous database integration?

11.2. Rolling your own continuous database integration

11.3. Continuous database maintenance with RoundhousE

11.4. Continuous database maintenance with Visual Studio

11.5. Summary

12. Chapter 12 Extending continuous integration

12.1. Speeding up CI

12.2. Seven deadly sins of slow software builds

12.3. Scaling CI

12.5. Maturity model for CI

12.6. Summary

© 2014 Manning Publications Co.

About the Technology

Continuous integration (CI) combines frequent integration, constant readiness, short build feedback cycles, persistent testing, and a fl exible approach to system requirements. Adopting these practices, and the supporting tools, requires rethinking your entire development process.

About the book

Continuous Integration in .NET shows you how to reimagine your development strategies by creating a consistent continuous integration process. You’ll use Visual Studio along with tools like Subversion, MSBuild, TFS, TeamCity, NUnit, and Selenium. And because CI is as much about the culture of your shop as the tooling, this book provides clear guidelines for starting and maintaining projects, along with metrics for measuring project success.

What's inside

  • CI best practices using .NET tools
  • Test and build automation
  • Keeping code tidy with FxCop and StyleCop
  • How to make CI succeed in your shop

About the author

An independent consultant based in Silesia, Poland, Marcin Kawalerowicz works for European customers in the automotive and fnancial sectors, among others. He writes a popular blog at iprogrammable.com. Craig Berntson is a Microsoft MVP and popular speaker and trainer based in the US. He blogs at www.craigberntson.com/blog.


combo $49.99 pBook + eBook
eBook $39.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks

Covers the whole gamut of CI.

Rob Reynolds, FHLBank Topeka

Up-to-date, ready-to-use, and agnostic information on CI.

Philippe Vialatte, Capgemini

It saved us plenty of time and money!

Nikander & Margriet Bruggeman, Lois & Clark IT Services