Kontinuierliche Integration

Kontinuierliche Integration (auch: fortlaufende- oder permanente Integration, en. Continuous Integration) ist ein Begriff aus der Software-Entwicklung, der den Prozess des regelmĂ€ĂŸigen, vollstĂ€ndigen Neubildens und Testens einer Anwendung beschreibt. Obwohl dieses Konzept Ă€lter ist, wird es hĂ€ufig mit Extreme Programming in Verbindung gebracht.

Die Idee der fortlaufenden Integration ist einfach:

  1. Sobald ein Entwickler(-team) Änderungen in die Versionsverwaltung eincheckt, wird das Gesamtsystem neu gebaut und automatisch getestet.
  2. Falls alle Tests erfolgreich durchlaufen, werden die vorgenommenen Änderungen an die nĂ€chste Stufe gegeben. Falls die Tests scheitern, werden die Änderungen zurĂŒckgenommen (Rollback) und dem Entwickler(-team) zur Korrektur vorgelegt.

SpÀtestens seit das Konzept der permanenten Integration von Kent Beck im Rahmen von Extreme Programming populÀr gemacht wurde, ist der Begriff an sich bekannt, die Implikationen sind allerdings oft nicht so transparent.

Permanente Integration basiert auf der festen Annahme, dass das Projekt seine Quellen in einem Versionsverwaltungssystem verwaltet und diese auch zeitnah nach Bearbeitung wieder dort einstellt.

Weiterhin wird davon ausgegangen, dass immer funktional vollstĂ€ndige Blöcke von Änderungen eingecheckt werden.

Auch wenn Systeme wie CruiseControl oder Anthill es sehr viel leichter machen, eine permanente Integration umzusetzen, so ist doch in vielen Unternehmen und Projekten keine Umgebung vorhanden, die ein solches Arbeiten unterstĂŒtzt.

Die einfachere Alternative – und hĂ€ufig die Vorstufe zur permanenten Integration – ist der Nightly Build (nĂ€chtlicher Erstellungsprozess), bei dem jede Nacht die aktuellen Versionen aus dem Versionsverwaltungssystem geholt werden und auf diesem Stand ein Gesamtsystem gebaut wird. Sofern möglich wird auch noch eine Installation in der Zielumgebung vorgenommen (Deployment) und ein Minimaltest (Anschalttest, vgl. Smoke testing) durchgefĂŒhrt.

Die EinfĂŒhrung permanenter Integration oder ersatzweise eines tĂ€glichen Builds ist ein geeigneter Weg, die QualitĂ€t zu steigern.

Die Vorteile der fortlaufenden Integration sind:

  • Integrations-Probleme werden laufend entdeckt und behoben (gefixt) – nicht erst kurz vor einem Meilenstein
  • frĂŒhe Warnungen bei nicht zusammenpassenden Bestandteilen
  • sofortige Unit-Tests entdecken Fehler schnell
  • konstante VerfĂŒgbarkeit eines lauffĂ€higen Standes fĂŒr Demo-, Test- oder Vertriebszwecke
  • Die sofortige Reaktion des Systems auf das Einchecken fehlerhaften oder unvollstĂ€ndigen Codes „erzieht“ die Entwickler im positiven Sinne zu einem verantwortlicheren Umgang und kĂŒrzeren Checkin-Intervallen.

[Bearbeiten] Software

Eine Liste verfĂŒgbarer Werkzeuge zur UnterstĂŒtzung dieses Prozesses:

[Bearbeiten] Literatur

  • Manfred Lange: Fortlaufende Integration. XP Exchange, 14. Januar 2002 (online ; Stand: 13. April 2007).

[Bearbeiten] Weblinks


system wymiany linkĂłw system wymiany linkĂłw wymiana linkami wymiana linkami system wymiany linkĂłw tanie kredyty gotĂłwkowe kreatyna Plaza 3 star hotel Los Angeles krynica noclegi Sejm Tyk