CI

by percent20 1/4/2008 6:49:00 AM

CI stands for Continuous Integration it is a way of constantly and consistenly testing your application end-to-end while in the development stage to limit bugs. Wikipedia defines Continuous Integration as:

For small projects, developers run all their unit tests, and integrate. Large projects often require a longer build and test cycle, so these projects use Automated Continuous Integration. A server process or daemon monitors the version control system for changes, then automatically runs the build process (e.g. a make script or Ant-style build script) and then runs test scripts (e.g. JUnit or NUnit). In many cases the build script not only compiles binaries but also generates documentation, website pages, statistics and distribution media (such as Windows MSI files or RPM files).

I read this and kind of go WTF? A while back I was able to persuade Scott Reynolds to post "Why Use Continuous Integration - Beginner's Overview".  Here is a quick blurb of his post.

At root, CI is a tool to automate build and build-related tasks.  A typical scenario is some CI "server" that checks the source repository for changes, gets latest, makes a build, and reports success/failure.  If you are running automated tests, CI would run them for you with the build, and would include the output in its report.  If you are running code metrics or static analysis like NDepend, FxCop, and so forth, CI would run those for you post-build and include the output in the report.  Finally, you could configure your CI process to deploy newly-built code to some location, possibly for QA purposes.

So basically from these two sources it is a methodology of testing your application end-to-end to help make your application a more solid product by the end. With CI it allows you to see where what breaks on the application as a whole instead of your small subset of unit tests that you are hopefully writing using TDD.  As I progress through programming CI looks more and more appealing for me to use from a fun-setup-a-server-to-play-with-something-new way and to help me write better software. I suggest checking it out if you don't currently use it. 

For another resource on getting started with Continuous Integration check out this altnetpedia page:

Continuous Integration 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

acronym

Related posts

Add comment


(Will show your Gravatar icon)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

7/25/2008 12:54:21 AM

Powered by BlogEngine.NET 1.3.0.0
Theme by Mads Kristensen


My Flare

AddThis Feed Button

National Blog Posting Month

Eagle Scout

I'm Test Driven

[Reserved for MVP status I want to earn]

View Buddy Lindsey's profile on LinkedIn

Twitter



Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in