Zum Hauptinhalt springen

CI/CD Pipeline

Was ist Continuous Integration (CI)

Bevor eine Anwendung ausführbar ist, werden verschiedene Schritte durchlaufen. Zuerst wird der Code in den meisten Fällen vor der Ausführung compiliert bzw. gebaut (Build). Um die Qualität des neu erstellen Codes zu gewährleiste wird in den nächsten Schritten die Qualität des Codes (Code Quality) sowie die Funktion mit Hilfe von Tests überprüft. Im nächsten Schritt wird ein Package erstellt, welches in die produktive Umgebung übernommen werden kann. Geschehen diese Prozess regelmäßig und automatisiert spricht man von Continuous Integration (kontinuierliche Integration). Idealerweise passiert dieses bei jeder Änderung am Code.

Was ist Continuous Delivery (CD)

Continuous Delivery (Kontinuierliche Auslieferung) kann erst erfolgen, wenn der Continuous Integration Prozess abgeschlossen ist. Die erstellte Anwendung bzw. das erstellt Package wird auf einem Testsystem zur Verfügung gestellt und wird von einem auswählten Personenkreis begutachtet und getestet (Review/Tests). Als nächstes wird entscheiden, ob die aktuell Version so übernommen wird. Diese Phase nennt man unter anderem Staging. Ist das OK gegeben wird das Paket bzw. die Anwendung in die produktive Umgebung (Production) übernommen. Geschehen dieses Prozess regelmäßig und automatisiert spricht man von Continuous Integration. Setzt man die jeweiligen beschriebenen Prozesse von CI und CD zusammen spricht man von der einer CI-Pipeline bzw. CD-Pipeline und insgesamt von der CI/CD-Pipeline.

Gitlab und CI/CD-Pipeline

Die Anwendung Gitlab liefert die Möglichkeit mit Hilfe von Docker-Container, eine solche CI/CD-Pipeline zu erstellen.

Vorteile von Continuous Integration

Die Vorteile einer dauerhaften Codeintegration liegen auf der Hand. Alle Änderungen werden regelmäßig automatisiert getestet und erst bei entsprechender Qualität übernommen. So können Fehler in der Anwendung schnell erkannt werden, was eine große Arbeitserleichterung bedeutet. Weiterhin werden Integrationsprobleme vermieden. Insgesamt kann.

Vorteile von Continuous Delivery

Durch Continuous Delivery kann sichergestellt werden, dass alle Änderungen später auch in das Produktivsystem übernommen werden können. So kann unter anderem der Aufwand für eine neue Entwicklung vermieden werden. Weiterhin handelt es sich bei Änderungen immer nur um kleine Teile die geprüft und veröffentlicht werden, sodass sich hierdurch auch Gesamtrisiko vermindert. Weiterhin können so Änderungen bzw. Verbesserung so deutlich schneller dem Endkunden zur Verfügung gestellt werden, was zu einer höheren Kundenzufriedenheit führt.


Kommentare