Continuous Integration/Continuous Deployment (CI/CD) ist eine Methode, die Continuous Integration (CI) mit Continuous Deployment bzw. Continuous Delivery (CD) kombiniert. Sie automatisiert und optimiert den Softwarebereitstellungsprozess und verbessert sowohl die Qualität als auch die Effizienz der Softwareentwicklung.

In der CI/CD-Pipeline übernimmt zunächst Continuous Integration (CI) den Build- und Testprozess des Codes. Dieser kann entweder manuell durch Nutzer:innen gestartet oder automatisch von Source-Code-Verwaltungstoolsausgeführt werden. Sobald der Code in die Versionsverwaltung integriert wird (z. B. durch einen Merge), startet die CI-Phase.

Während dieser Phase werden automatisierte Tests und Qualitätsprüfungen (z. B. mit Cppcheck oder Linting) durchgeführt. Die Ergebnisse der CI umfassen in der Regel Artefakte, Testprotokolle und Qualitätsberichte, die den aktuellen Status der Software dokumentieren.

Nach erfolgreichem Abschluss der Continuous Integration bereitet Continuous Delivery (CD) die Bereitstellung der neuen Version vor. In einem vollautomatisierten Prozess kann die Continuous Deployment-Pipeline die neue Version direkt veröffentlichen – ohne manuelle Eingriffe.

Ziele von CI/CD

1. Erhöhte Pruduktivität

Automatisierte Prozesse reduzieren den manuellen Aufwand und lassen Entwickler sich auf das Schreiben von Code konzentrieren.

2. Verbesserte Codequalität

Automatisierte Tests und kontinuierliche Integration erkennen Fehler frühzeitig. Zur Qualitätskontrolle gehören statische und dynamische Analysen (z. B. mit cppcheck, lint, valgrind) sowie Code-Coverage-Berechnungen und Metriken wie Codezeilenanzahl oder Dokumentationsqualität (z. B. mit doxygen). Diese Maßnahmen in der CI unterstützen die kontinuierliche Verbesserung der Codequalität.

3. Schnellere Auslieferung

Neue Funktionen und Updates können schneller und häufiger bereitgestellt werden.

4. Reduzierte Risiken

Automatisierte Tests und Rollbacks verringern das Risiko von Fehlern in der Produktionsumgebung.

Tools für CI/CD

Wichtige Tools für CI/CD umfassen:

  • Jenkins
  • GitLab CI/CD
  • CircleCI
  • Travis CI
  • Bamboo
  • Azure DevOps
  • Spinnaker
  • Argo CD
  • Octopus Deploy
"Houston, we have a problem" - Deine Anmeldung konnte leider nicht gespeichert werden. Bitte versuche es erneut.
Moin und herzlich willkommen. Deine Anmeldung zum smart letter war erfolgreich!

Schickt mir den smart letter!

Trage Dich jetzt ein, um keine Updates mehr von uns rund um Smartifizierung und Embedded Systems zu verpassen.