Thursday, May 17, 2012

Continous Integration

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily — leading to multiple integrations per day. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.

Continuous Integration (CI) involves producing a clean build of the system several times per day, usually with a tool like CruiseControl, which uses Ant and various source-control systems. Agile teams typically configure CI to include automated compilation, unit test execution, and source control integration. Sometimes CI also includes automatically running automated acceptance tests such as those developed using FitNesse. In effect, CI means that the build is nearly always clean. 

Tools for automatic Build and Release Management:
1. Microsoft Visual Studio Team System
2. Cruise Control .NET
3. Team City
4. Hudson
5. Bamboo
6. Arbit
7. Go,
8. BuildForge,
9. TeamBuild,
10.FinalBuilder Pro
11.Automated Build Studio
12.LuntBuild
13. BuildMaster
14. BuildBot
15. Draco.NET



Continuous Integration Benefits

  • Instant build feedback
  • Increased code stability
  • Efficient and fast bug detection
  • Increased development speed 
Process
There are really two separate parts to gettings started with CI.
  1. Setting up the build server and
  2. Creating the build (e.g. Nant files)

No comments: