Continuous Integration

Continuous Integration ist ein DevOps-Verfahren in der Software-Entwicklung, bei dem ein Entwickler regelmäßig, vorzugsweise mehrmals täglich, neue Codeänderungen für Apps entwickelt, prüft und in einem gemeinsamen Repository zusammenführt. Jede Integration kann dann durch einen automatisierten Build und automatisierte Tests verifiziert werden. Einer der Hauptvorteile der regelmäßigen Integration ist, dass verschiedene Fehler schnell erkannt und leichter gefunden werden können. Da jede eingeführte Änderung typischerweise klein ist, kann die Lokalisierung der spezifischen Änderung, die einen Fehler verursacht hat, schnell durchgeführt werden. Sobald die Änderungen eines Entwicklers zusammengeführt werden, werden sie in automatischen App-Builds und unterschiedlichen Stufen von Automatisierungsprüfungen (normalerweise Einheits- und Integrationstests) validiert. So wird sichergestellt, dass die Funktionsfähigkeit nicht beeinträchtigt wurde. Zu den Hauptzielen der kontinuierlichen Integration gehört die Steigerung der Softwarequalität.

Hintergrund

Die ersten Schritte dieses Automatisierungsprozesses fangen in den neunziger Jahren an. Der Begriff CI wurde in einer Publikation von Grady Booch im Jahr 1991 zum ersten Mal vorgestellt. Seit dem ist es zum täglich benutzten Tool jedes Entwicklers geworden. In den letzten Jahren hat sich CI zu einer Best Practice für die Softwareentwicklung entwickelt und orientiert sich an einer Reihe von Schlüsselprinzipien. Dazu gehören unter anderem Revisionskontrolle, Buildautomatisierung und automatisiertes Testen. Darüber hinaus haben sich Continuous Deployment und Continuous Delivery als Best Practices entwickelt, um eine Anwendung jederzeit einsatzbereit zu halten oder sogar eine Hauptcodebasis automatisch in die Produktion zu bringen, wenn neue Änderungen in sie eingebracht werden. Dies ermöglicht es den Teams, schnell zu handeln und gleichzeitig hohe Qualitätsstandards einzuhalten, die automatisch überprüft werden können.

Fakten

Auf dem Markt befinden sich zahlreiche Tools im Bereich der CI. Einige der besten Continuous Integration (CI)-Tools sind heutzutage nicht nur für die Top-Players der Branche gedacht und lassen sich sehr einfach bedienen. Zu den beliebtesten, kostenpflichtigen und kostenlosen Open-Source-CI-Tools gehört Buddy, Jenkins, Bambi, Hudson, Travis CI, Circle CI, Codeship und viele mehr. Diese Tools haben Tausende von Nutzern, die sie auf der täglichen Basis verwenden. Zum Beispiel im August 2017 war Jenkins für mehr als 1.000.000.000 Benutzern auf der ganzen Welt das perfekte Werkzeug für kontinuierliche Lieferung und DevOps Orchestrierung.