Continuous Integration - Principles of Continuous Integration

Principles of Continuous Integration

Continuous integration – the practice of frequently integrating one's new or changed code with the existing code repository – should occur frequently enough that no intervening window remains between commit and build, and such that no errors can arise without developers noticing them and correcting them immediately. Normal practice is to trigger these builds by every commit to a repository, rather than a periodically scheduled build. The practicalities of doing this in a multi-developer environment of rapid commits are such that it's usual to trigger a short timer after each commit, then to start a build when either this timer expires, or after a rather longer interval since the last build. Automated tools such as CruiseControl, Jenkins, Hudson, Bamboo, BuildMaster, AnthillPro or Teamcity offer this scheduling automatically.

Another factor is the need for a version control system that supports atomic commits, i.e. all of a developer's changes may be seen as a single commit operation. There is no point in trying to build from only half of the changed files.

To achieve these objectives, continuous integration relies on the following principles.

Read more about this topic:  Continuous Integration

Famous quotes containing the words principles of, principles, continuous and/or integration:

    Struggle is the father of all things.... It is not by the principles of humanity that man lives or is able to preserve himself above the animal world, but solely by means of the most brutal struggle.
    Adolf Hitler (1889–1945)

    Magic is akin to science in that it always has a definite aim intimately associated with human instincts, needs, and pursuits. The magic art is directed towards the attainment of practical aims. Like other arts and crafts, it is also governed by a theory, by a system of principles which dictate the manner in which the act has to be performed in order to be effective.
    Bronislaw Malinowski (1984–1942)

    I describe family values as responsibility towards others, increase of tolerance, compromise, support, flexibility. And essentially the things I call the silent song of life—the continuous process of mutual accommodation without which life is impossible.
    Salvador Minuchin (20th century)

    The more specific idea of evolution now reached is—a change from an indefinite, incoherent homogeneity to a definite, coherent heterogeneity, accompanying the dissipation of motion and integration of matter.
    Herbert Spencer (1820–1903)