plusserver-Blog-CI-CD-E-CGN
Blog

|

01.02.2023

Was bedeutet CI/CD in der Entwicklung?

CI/CD steht für eine Sammlung von Techniken, Prozessen und Werkzeugen, um die Softwareentwicklung und -auslieferung zu verbessern.

Lesen Sie im Folgenden:

Grundsätzlich unterstützt CI/CD – Continuous Integration, Continuous Delivery und Continuous Deployment – als Methode der modernen Softwareentwicklung Unternehmen bei der Umsetzung ihrer DevOps-Bemühungen. Denn die Verzahnung der Entwicklung (Development = Dev) und des IT-Betrieb (Operations = Ops) lebt von einem möglichst hohen Automatisierungsgrad. Da es sich bei CI/CD um einen aufeinander aufbauenden, aber in sich geschlossenen Feedback-Prozess handelt, spricht man meist von einer CI/CD-Pipeline.

plusserver Blog - DevOps - Grafik
Die CI/CD-Pipeline bildet den Backbone moderner DevOps-Umgebungen. Bildquelle: datacenter-insider.de

Wie verbessert CI die Softwarequalität?

Moderne Anwendungen bestehen meist aus einer Vielzahl von kleinen, unabhängigen Komponenten, den sogenannten Microservices. Dies erlauben es, dass mehrere Developer gleichzeitige an unterschiedlichen Komponenten oder Features derselben Anwendung arbeiten. Hier spielt auch die Container-Technologie und Orchestrierung der Container mit Kubernetes eine tragende Rolle.

Bei Continuous Integration geht es nun darum, die Komponenten für eine Anwendung kontinuierlich zusammenzufügen. Die Entwickler können so all ihre Codeänderungen in einem Branch der Anwendung zusammenführen – und das möglichst oft.

Mithilfe eines CI-Systems kann jeder Entwickler die Änderungen an seinem Code automatisiert ausführen und testen lassen. Sie werden dann in automatischen Builds und unterschiedlichen Stufen von Automatisierungsprüfungen validiert. Das stellt sicher, dass die Funktionsfähigkeit der Anwendung nicht beeinträchtigt wurde.

Treten innerhalb dieser automatisierten Validierungsprozesse Konflikte zwischen aktuellem und neuem Code auf, erhält der Entwickler umgehend Feedback und kann den Fehler schnellstmöglich beheben. Diese häufigen Test- und Feedback-Schleifen ermöglichen es, schneller Anwendungen zu entwickeln, Fehler zu erkennen und Kundenfeedback einzubeziehen. So trägt CI als kontinuierlicher „Build-Prozess“ innerhalb der CI/CD-Pipeline dazu bei, die Softwarequalität nachhaltig zu verbessern.

Wie optimiert CD den Prozess der Softwareauslieferung?

Continuous Delivery folgt auf Continuous Integration und setzt den Feedback-Zyklus in der Softwareentwicklung und -bereitstellung fort. In diesem Schritt der CI/CD-Pipeline wird der Code automatisiert getestet, um etwaige Bugs frühzeitig zu finden. Ist der Code validiert, wird er automatisch in ein Repository hochgeladen – wie beispielsweise GitHub. Der CD-Prozess umfasst die Zusammenführung von Codeänderungen, ausführliche Tests, Code-Freigaben und die Bereitstellung produktionsreifer Builds der Software.

Ziel von CD ist es, immer eine möglichst aktuelle Codebasis zur Verfügung zu haben. Deshalb ist eine Verzahnung von Continuous Integration mit Continuous Delivery in der CI/CD-Pipeline wichtig. Denn im Kern soll CD sicherstellen, dass neuer Code mit minimalem Aufwand ausgerollt werden kann.

CI/CD: Continuous Deployment automatisiert die Softwarebereitstellung

Continuous Deployment bildet den letzten Schritt in der CI/CD-Pipeline. Im Rahmen der Continuous Delivery wurden automatisch Builds erstellt und in einem Repository freigegeben. Diese können jetzt via Continuous Deployment ebenso automatisiert für die Produktion freigegeben und ausgerollt werden.

In der Praxis bedeutet das: Mithilfe einer CI/CD-Pipeline können Änderungen an der Software innerhalb von Minuten vorgenommen werden und wieder live gehen. Das Feedback von Anwendern wird so schnell und regelmäßig in die Software integriert. Voraussetzung ist jedoch, dass alle automatisierten Tests erfolgreich verlaufen. Genau hier liegt auch die Herausforderung bei der Implementierung einer CI/CD-Pipeline.

Grafik CI-CD Flow Mobile
CI/CD sorgt nicht nur für eine höhere Geschwindigkeit, sondern auch für eine bessere Softwarequalität. Bildquelle: Red Hat

Welche Herausforderung besteht beim Aufbau einer CI/CD-Pipeline?

Eine CI/CD-Pipeline vereinfacht zwar die Implementierung von Anwendungen, da diese in Teilen und nicht auf einmal freigegeben werden müssen. Doch der Aufwand, den Unternehmen vorab betreiben müssen, ist nicht zu unterschätzen. 

Denn diese Prozessautomatisierung bedeutet auch, dass am Ende der Pipeline vor der Produktion keine manuelle „Endabnahme“ steht. Deshalb müssen automatische Tests für alle unterschiedlichen Prüf- und Release-Phasen innerhalb der CI/CD-Pipeline geschrieben werden. 

Zudem müssen sich Unternehmen im Rahmen von CI/CD grundsätzlich mit der Planung und Umsetzung einer DevOps-Strategie befassen. Dabei gilt es zu überlegen, ob es um die Optimierung bestehender Prozesse oder eine komplette Neuplanung von DevOps geht. 

Und es gilt, die geeigneten Tools auszuwählen sowie die nötigen Strukturen aufzubauen, um DevOps umsetzen zu können. Dabei können Serviceanbieter wie plusserver unterstützen, die sowohl die passende Infrastruktur „as a Service“ bereitstellen als auch durch persönliches Consulting den Weg ebnen.

Brauchen Sie Unterstützung bei CI/CD?

Starten Sie in die agile Softwareentwicklung mit unserer gemanagten Kubernetes-Plattform. 30 Tage kostenfrei testen!

Über den Autor

Annika Opitz ist Product Owner für die plusserver Kubernetes Engine (PSKE) und ist in ihrer Rolle für die Produktvision, Ausrichtung und Weiterentwicklung der Lösung verantwortlich. Sie besitzt jahrelange Erfahrung in der IT- und Technologiebranche sowie umfangreiche Praxiserfahrung in der Planung und Weiterentwicklung von Produkten während des gesamten Produktlebenszyklus.

Erfahren Sie mehr

Blog

Kubernetes Cluster auf Knopfdruck managen

Kubernetes Cluster sind in der Unternehmens-IT unverzichtbar. Eine neue Lösung macht sie für jedes Unternehmen beherrschbar.
Blog

Was ist Cloud-native Development?

Cloud-native Development: Anwendungen direkt in der Cloud entwickeln, testen und ausführen.
Download

Whitepaper: Cloud-native Transformation

Finden Sie heraus, worauf es bei Cloud-native wirklich ankommt und wie Sie Ihr Unternehmen auf den Weg bringen. Mithilfe der Cloud-native Matrix können Sie den Status Ihres Unternehmens bewerten und Lücken identifizieren.

Haben Sie noch Fragen?

Senden Sie mir einfach eine Nachricht mit Ihrem Anliegen und ich melde mich schnellstmöglich zurück.

Sebastian Latz

Sebastian Latz

Head of Presales

Ihre Anfrage

Icon plusforum

Sie haben eine Frage oder benötigen Hilfe zu einem Thema? Wir helfen Ihnen gerne dabei.

Sie können uns auch gerne jederzeit telefonisch erreichen:

Beratung: +49 2203 1045 3500
Support: +49 2203 1045 3600

Ihre Anfrage

Icon plusforum

Sie haben eine Frage oder benötigen Hilfe zu einem Thema? Wir helfen Ihnen gerne dabei.

Sie können uns auch gerne jederzeit telefonisch erreichen:

Beratung: +49 2203 1045 3500
Support: +49 2203 1045 3600

Ihre Anfrage

Icon plusforum

Sie haben eine Frage oder benötigen Hilfe zu einem Thema? Wir helfen Ihnen gerne dabei.

Sie können uns auch gerne jederzeit telefonisch erreichen:

Beratung: +49 2203 1045 3500
Support: +49 2203 1045 3600