Erkunden von Continuous Integration

Abgeschlossen

Continuous Integration (CI) ist eines der grundlegendsten Elemente von DevOps. Es fördert die Zusammenarbeit, trägt zur frühzeitigen Erkennung von Problemen bei der Codequalität bei und sorgt für einen verschlankten Entwicklungsprozess. Es dient auch als Grundlage für Continuous Delivery und Continuous Deployment. Durch die Verwendung von CI-Praktiken kann die in unserem Beispielszenario beschriebene Organisation den manuellen Aufwand beim Erstellen und Testen ihrer Anwendungen eliminieren, wodurch die Bereitstellung effektiv beschleunigt wird. Um Sie dabei zu unterstützen, die Vorteile von CI voll auszuschöpfen, beschreiben wir sie in dieser Lektion.

Was ist „Continuous Integration“?

Continuous Integration beschreibt den Prozess des automatischen Erstellens und Testens aktualisierter Versionen von Software nach einzelnen Updates im Software-Repository. Im Allgemeinen umfasst der Integrationsprozess Entwickler, die ihre Änderungen in separaten Branches über Pull Requests übermitteln. Die Änderungen werden einer kollektiven Überprüfung unterzogen und, sofern diese erfolgreich verläuft, in den Mainbranch aufgenommen. Einzelne Commit- oder Merge-Ereignisse können verwendet werden, um die Erstellung von Code und Tests auszulösen, um sicherzustellen, dass vorgeschlagene oder resultierende Änderungen keine negativen Auswirkungen haben. Mit Continuous Integration werden der Build und Tests vollständig automatisiert.

Diagramm des kontinuierlichen Integrationsflusses.

Diese Automatisierung basiert auf Build- und Testdefinitionen, die von den Entwicklern erstellt und in der Repository-Hosting-Plattform implementiert werden. Beispielsweise bietet GitHub für diesen Zweck den GitHub Actions-Workflow an, während Azure DevOps auf Azure Pipelines zurückgreift.



Was sind die Vorteile von Continuous Integration?

Die Hauptvorteile von Continuous Integration basieren auf der allgemeinen Shift-Left-Strategie, die (wie Sie später in diesem Modul erfahren) auch viele andere DevOps-Praktiken beeinflusst. Grundsätzlich gilt: Je länger es dauert, ein durch eine Codeänderung verursachtes Problem zu erkennen, desto teurer und aufwändiger ist die Behebung. Mit Continuous Integration erfolgen die Erstellung von Code und Tests so schnell wie möglich. Sie werden ebenfalls automatisiert implementiert, was die Geschwindigkeit und Zuverlässigkeit erhöht. Continuous Integration verbessert die Konsistenz, sodass Builds und Tests reproduzierbar durchgeführt werden. Diese Konsistenz hilft wiederum beim Erzwingen von Programmierstandards, was einen sauberen Code ermöglicht, der auch einfacher zu pflegen ist. Nicht zuletzt ist Continuous Integration n in der Regel Teil von Continuous Delivery, wodurch die gesamte Lebenszyklusverwaltung von Anwendungen rationalisiert wird. Die Minimierung des Aufwands, der mit der Pflege der Build-, Test- und Bereitstellungsaktivitäten verbunden ist, erhöht die Gesamtproduktivität der Entwicklungs- und Betriebsteams und verkürzt die Markteinführung von Softwareprodukten.