---
title: "The difference between continuous Integration tools and automated build tools"
url: "https://osherove.com/blog/2010/1/14/the-difference-between-continuous-integration-tools-and-auto.md"
canonical: "https://osherove.com/blog/2010/1/14/the-difference-between-continuous-integration-tools-and-auto.html"
published: "2010-01-14T12:08:20"
updated: "2010-01-14T12:08:20"
tags: [".NET", "Agile"]
author: "Roy Osherove"
description: "Lots of people have a common misunderstanding of the (subtle) differences between the various tooling regarding continuous integration and build automateion. Here’s the gist of it: Build automation: Build automation…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# The difference between continuous Integration tools and automated build tools

By Roy Osherove January 14, 2010 In [.NET](https://osherove.com/blog/category/net), [Agile](https://osherove.com/blog/category/agile)

**Historical article** · Originally published January 14, 2010; technical details may be outdated.

Lots of people have a common misunderstanding of the (subtle) differences between the various tooling regarding continuous integration and build automateion. Here’s the gist of it:

**Build automation:**

Build automation tools are tools you use to automate the build process, instead of doing it manually. Build automation tools include:

- batch files
- [MSBuild](http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx) files (csproj and vbproj files are really msbuild files inside, for example)
- [NAnt](http://nant.sourceforge.net/) files
- [FinalBuilder](http://www.finalbuilder.com/) (slick, visual editor, hundreds of built in tasks)
- [VisualBuild](http://www.kinook.com/VisBuildPro/) (slick, visual editor)
- [Rake](http://martinfowler.com/articles/rake.html) (based on Ruby)
- [BooBS](http://code.google.com/p/boo-build-system/) (Boo Build System)

**Continuous Integration:**

CI tools are the **triggers** that listen to various “events’ in the network (a check-in to source control, for example could be a trigger. You can configure these tools to do a few simple things when an event happens. One of those things can be to invoke one of the tools in the previous list. Some of the CI tools, though, include a few simple built in build atomation power (such as built in MSBuild support, or running tests) but you would do much better choosing a CI tool that invokes a build automation power tool, since each are design with different goals in mind.

CI tools include:

- [TeamCity](http://www.jetbrains.com/teamcity/index.html) (recommended 0 invokes msbuild, command line, tests, and more)
- [Team System Build server](http://msdn.microsoft.com/en-us/library/ms181710\(VS.80\).aspx) (invokes MSBuild files)
- [Hudson](http://hudson-ci.org/) (mosty used in Java contexts but I hear some .net devs use it too)
- [CruiseControl.NET](http://cruisecontrol.sourceforge.net/) (xml based – very mature but also old fashioned..)
- others..?

**What should you use?**

I really like to take the best of each category. I’ve found the combination of using **TeamCity** to listen and configure events which then triggers a **FinalBuilder** script file as an ultimate combination of both power and (very important!) maintainability and understandability of the process.

I really despise tools that force you to configure huge xml files (msBuild, CCNet, NAnt) as that is a maintainability nightmare waiting to happen.

## Lessons on this topic

- [Separation of Concerns](https://courses.osherove.com/courses/beautiful-builds-and-continuous-delivery-patterns/separation-of-concerns/) · Beautiful Builds and Continuous Delivery Patterns
- [Invoking FinalBuilder from TFS/MSBuild](https://courses.osherove.com/courses/automating-all-the-things-with-finalbuilder/invoking-finalbuilder-from-tfs-msbuild/) · Automating All the Things with FinalBuilder
- [Cumulative Builds](https://courses.osherove.com/courses/beautiful-builds-and-continuous-delivery-patterns/cumulative-builds/) · Beautiful Builds and Continuous Delivery Patterns
- [Version by Snapshot](https://courses.osherove.com/courses/beautiful-builds-and-continuous-delivery-patterns/version-by-snapshot/) · Beautiful Builds and Continuous Delivery Patterns
- [What's the point of Continuous Delivery?](https://courses.osherove.com/courses/beautiful-builds-and-continuous-delivery-patterns/what-s-the-point-of-continuous-delivery/) · Beautiful Builds and Continuous Delivery Patterns

## More in .NET

[All posts in .NET](https://osherove.com/blog/category/net)

- Jan 21, 2010

    ### [18 Questions to ask yourself when choosing continuous integration and build automation tools](https://osherove.com/blog/2010/1/21/18-questions-to-ask-yourself-when-choosing-continuous-integr.html)

- Jan 14, 2010

    ### [January at Israel .net user group: Unit Testing!](https://osherove.com/blog/2010/1/14/january-at-israel-net-user-group-unit-testing.html)

- Jan 12, 2010

    ### [Unit Testing Biztalk : Two possible frameworks](https://osherove.com/blog/2010/1/12/unit-testing-biztalk-two-possible-frameworks.html)

- Jan 11, 2010

    ### [Poll: Do you use NUnit’s fluent API?](https://osherove.com/blog/2010/1/11/poll-do-you-use-nunits-fluent-api.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
