Integración Contínua: Travis

Continuous integration (CI) is the practice, in software engineering, of merging all developer workspaces with a shared mainline several times a day. It was first named and proposed as part of extreme programming (XP).

Its main aim is to prevent integration problems, referred to as integration hell in early descriptions of XP.

CI can be seen as an intensification of practices of periodic integration advocated by earlier published methods of incremental and iterative software development.

  1. CI was originally intended to be used in combination with automated unit tests written through the practices of test-driven development.
  2. Initially this was conceived of as running all unit tests and verifying they all passed before committing to the mainline.
  3. Later elaborations of the concept introduced build servers, which automatically run the unit tests periodically or even after every commit and report the results to the developers.
  4. In the same vein the practice of continuous delivery further extends CI by making sure the software checked in on the mainline is always in a state that can be deployed to users and makes the actual deployment process very rapid.

The use of build servers (not necessarily running unit tests) had already been practised by some teams outside the XP community. Now, many organisations have adopted CI without adopting all of XP.

Casiano Rodriguez León 2015-06-18