|
|||||||||||
Developing high-quality software is a challenging task, especially when it is done by a (distributed) team of programmers. In the last decade, several concepts and tools have gained acceptance in the industry that can raise the quality of software significantly, for example, automated test suites, code versioning systems, issue trackers and nightly builds.
The idea behind Continuous Integration is to integrate all these concepts into a single (extensible) tool that continuously applies quality control measures while the software is being developed. For example, whenever a developer commits changes to the code base, the CI tool runs the test suite and reports the results - including statistics such as code coverage - to a website. For open source projects, such websites are often publicly available and can be used to estimate the stability of a given application. If the project builds successful then a snapshot can be published, if tests fail then the developer who committed the changes can be notified.
CI tools are widely accepted in the industry and used by companies such as Google, Intel, Pixar, Credit Suisse, Mercedes-Benz [Zutubi, Bamboo] or the Ergon Informatik AG.
We currently use our own build tool (written in Python) to perform a sort of poor-man's continuous integration, including sending notifications to involved developers. The tool works reasonably well, but we would like to migrate to an established CI tool since it appears to be the better choice in the long run with respect to maintainability and already implemented features. However, we have a few requirements such as tracking and evaluating arbitrary statistics that are probably not supported out of the box, and thus have to be added to the CI tool as plug-ins or extensions.
Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne
graphische Elemente dargestellt. Die Funktionalität der
Website ist aber trotzdem gewährleistet. Wenn Sie diese
Website regelmässig benutzen, empfehlen wir Ihnen, auf
Ihrem Computer einen aktuellen Browser zu installieren. Weitere
Informationen finden Sie auf
folgender
Seite.
Important Note:
The content in this site is accessible to any browser or
Internet device, however, some graphics will display correctly
only in the newer versions of Netscape. To get the most out of
our site we suggest you upgrade to a newer browser.
More
information