printlogo
http://www.ethz.ch/index_EN
Welcome
 
print
  

Continuous Integration and Benchmark Monitoring

Introduction

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.

Current situation

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.

Challenges

Opportunities

Recommended background

Contact

Malte Schwerhoff

 

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

© 2013 ETH Zurich | Imprint | Disclaimer | 4 July 2012
top