Zum Inhalt springen

Projektanfrage

Sprechen wir ganz unverbindlich über Ihr Projekt.

Oder nutzen Sie unser Kontaktformular

CI/CD

Continuous Integration und Continuous Delivery (CI/CD) ist ein Ansatz in der Softwareentwicklung, der darauf abzielt, die Effizienz, Qualität und Geschwindigkeit der Bereitstellung von Software zu verbessern.

CI/CD umfasst eine Reihe von Praktiken, Tools und Automatisierungen, die die Integration von Codeänderungen, deren kontinuierliche Überprüfung und die automatisierte Bereitstellung ermöglichen. In diesem Glossarbeitrag werden wir einen genaueren Blick auf das Konzept von CI/CD werfen, seine Bestandteile und seine Vorteile.

Continuous Integration (CI)

CI bezieht sich auf den Prozess der Integration von Codeänderungen in ein gemeinsames Repository. Entwickler laden regelmäßig ihren Code hoch, der automatisch in das Repository integriert wird, oft durch Merge bzw. Pull Requests. Dies ermöglicht eine frühzeitige Fehlererkennung und die reibungslose Zusammenführung (Merge) von Änderungen.

Automatisierte Tests

Im Rahmen von CI werden automatisierte Tests durchgeführt, um sicherzustellen, dass der Code fehlerfrei ist und die erwarteten Funktionalitäten erfüllt. Dies umfasst Unit-Tests, Integrationstests und gegebenenfalls auch andere Arten von Tests wie Performance-Tests oder Sicherheitstests.

Continuous Deployment (CD)

CD bezieht sich auf den Prozess der automatisierten Bereitstellung von Anwendungen nach erfolgreicher Integration und Tests. Der Code wird in verschiedenen Umgebungen wie Develop, Staging und Produktion (oft auch "Live" genannt) ausgeliefert. Dabei wird mit dem Deployment auf Develop begonnen und erst wenn die Änderung dort erfolgreich getestet werden konnte, wird zu Staging Deployed.

Pipelines

CI/CD basiert auf dem Aufbau von automatisierten Pipelines, die den Prozess der Integration, Tests und Bereitstellung steuern. In GitHub sind es die "Actions", in GitLab "Pipelines". Diese Pipelines sind in der Regel konfigurierbar und ermöglichen die Definition verschiedener Schritte, wie das Kompilieren des Codes, das Ausführen von Tests und das Bereitstellen der Anwendung.