Das Konzept der kontinuierlichen Integration

  • Einführung
  • Schlüsselwörter
  • Einige beliebte Integrationsserver
  • Einige nützliche Links
  • Anmerkungen

Einführung

Im Rahmen des kontinuierlichen Integrationsprozesses soll vor allem sichergestellt werden, dass bei jeder Aktualisierung des Quellcodes keine Regressionen und / oder Anomalien in einer in der Entwicklung befindlichen Anwendung auftreten. In der Vergangenheit wurde die Integration von IBM seit den 60er Jahren kontinuierlich zur Entwicklung von OS / 360 verwendet.

Die kontinuierliche Integration ist kein Tool, sondern ein praktisches Ergebnis von eXtreme Programming (XP).

Entwickler, die an demselben Anwendungsprogramm arbeiten, initialisieren es so oft wie möglich neu. Dies löst bei jeder Integration einen Prozess aus, der auf einer Plattform basiert, die den Betrieb der Anwendung automatisch überwacht, sodass bei der Eingabe Anomalien festgestellt werden.

Für einen Entwickler ist es am schwierigsten, die tatsächlichen Auswirkungen eines Updates auf alle grundlegenden Funktionen der Anwendung abzubilden. Durch die kontinuierliche Integration kann der Entwickler einen umfassenderen Überblick über die Anwendung erhalten, da die Anwendungstests in einer Klonumgebung durchgeführt werden.

Schlüsselwörter

  • Erstellen: Alle Schritte, die zum Kompilieren und Erstellen von Ergebnissen und zum Starten von Tests erforderlich sind (Funktion, Einheit, HMI usw.).
  • Festschreiben: Mit dieser Operation können Aktualisierungen des vorhandenen Quellcodes im lokalen Arbeitsverzeichnis des Entwicklers über ein Konfigurationsverwaltungstool (z. B. SVN) überprüft werden.
  • Update: Dieser Vorgang ermöglicht das Update aus dem Repository des Konfigurationsverwaltungstools des lokalen Verzeichnisses.
  • Checkout: Dies ist der Vorgang zum Extrahieren einer Version eines in der Entwicklung befindlichen Projekts aus dem Repository des Konfigurationsmanagers in ein lokales Arbeitsverzeichnis.

Allgemeines Szenario

  • Der Entwickler hat ein Commit für das Repository des Konfigurationsmanagers durchgeführt.
  • Der Integrationsserver erkennt das Festschreiben, führt einen Checkout durch und startet die Kompilierung und das Testen der Vorgänge
  • Im Fehlerfall wird eine Benachrichtigung an den Projektmanager und / oder das Entwicklungsteam generiert.
  • Der vom Fehler betroffene Entwickler führt eine Aktualisierung des Konfigurationsverwaltungs-Repository durch und behebt die Anomalie.

Allgemeine Merkmale eines Continuous Integration Servers

  • Ein Continuous Integration Server sollte in erster Linie Folgendes ermöglichen:
  • So führen Sie Checkout-Vorgänge in Configuration Manager aus
  • Quellcode kompilieren
  • Die Erstellung des Anwendungsarchivs (Ear, Jar, War, ...)
  • Die Bereitstellung des Archivs auf dem Testcomputer.
  • Ausführen einer Testsuite: JUnit, Cactus, Quellcodeprüfung, GUI-Tests, Funktionstests
  • Benachrichtigung über das Ergebnis: Mail, RSS.
  • Die Erstellung eines statistischen Berichts.
  • Integration mit anderen Tools

Einige beliebte Integrationsserver

  • Cruise Control: Open Source und kostenlos, bekannt und gut dokumentiert, um Anwendungen und J2EE-Anwendungen zu testen. Netz. ist die Referenz für kontinuierliche Integration.
  • Hudson: Open Source und Free, wurde in letzter Zeit immer beliebter, dass Cruise Control J2EE-Anwendungen testen kann. Wird von SUN verwendet.
  • Continuum: kostenlose OpenSource, die von der Apache Foundation unterstützt wird.
  • Bambus: Open Source, muss aber gekauft werden.

Einige nützliche Links

  • //www.atlassian.com/software/bamboo/
  • //msdn.microsoft.com/en-us/library/ms364045(VS.80).aspx
  • //c2.com/cgi/wiki?ContinuousIntegration
  • //www.extremeprogramming.org/rules/integrateoften.html
  • //en.wikipedia.org/wiki/Continuous_integration
  • //martinfowler.com/articles/continuousIntegration.html

Anmerkungen

Danke an wjaouadi für diesen Tipp.

Vorherige Artikel Nächster Artikel

Top-Tipps