Monday, May 16, 2016

What is continuous integration (CI)

Continuous integration is one of software engineering best practices. this post summarize the my attempt of finding what continuous integration is and it's uses.

First of all lets see what is continuous integration is in a simple sentence.

it is simply a mechanism that rebuilds your project whenever a check in is made into some revision control system.

This can be extended though to include running tests, all the way through to generating a CD image, mounting it within VMs, installing the product and running full tests on it.

This explanation was taken from a stackoverflow post.

It describe the advantages of continuous integration as well in the same post and it says,

Continuous integration has the simple advantage of highlighting when code changes break the system as early as possible. Not only does it detect breaks in the code, it highlights who caused the break. This psychological effect is very effective in encouraging good testing prior to check in!

Lets see important facts about continuous integration in points.
  • Continuous Integration is a software development practice where members of a team integrate their work frequently(usually each person integrates at least daily)
  • It lead to multiple integration s per day. So each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.
  • Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly
Those points are obtained from a nice article about continuous integration written by Martin Fowler.

CI originated from within the extreme programming paradigm but the principles can be applied to any iterative programming model, such as agile programming. Traditional development approaches, such as the waterfall model can benefit from using CI methods for the construction stage.

No comments:

Post a Comment

Optimize you working enviorenment : Single command to create & move to a directory in linux (C Shell, Bash)

Usually move to a directory just after creating is bit of a anxious task specially if the directory name is too long. mkdir long-name-of...