Continuous Integration, Delivery und Deployment

DevOps lebt von Automatisierung. Bei wiederkehrenden Tätigkeiten wie Tests, Builds und Deployments lohnt sich die Automatisierung. DevOps verwendet in diesem Kontext die drei Buzzwords Continuous Integration, Continuous Delivery und Continuous Deployment, die aufeinander aufbauen und eine Automatisierung der wiederkehrenden Tätigkeiten forcieren. Die Buzzwords setzen dabei auf kontinuierliche Lieferung kleiner Software-Inkremente und direktes Feedback, ob Neuerungen funktionieren.

Continuous Integration

Continuous Integration (CI) hat die Ziele, entwickelten Code so schnell wie möglich in die Versionsverwaltung einzuchecken und durch automatisierte Tests schnelles Feedback zu geschriebenem Code zu erhalten.

Gängige Probleme in Projekten

  • Integrationstests werden zu selten ausgeführt. Dadurch erhalten die Entwickler zu selten Feedback zu Problemen zwischen ihrem neu entwickelten Code und dem produktiven, vorhandenen Code (Code, der bereits in Produktion läuft).
  • Probleme beim Zusammenführen von neuem Code aus parallelen Entwicklungs-Teams, die in verschiedenen Software-Strängen (Branches) arbeiten.

Folgen der Probleme

  • Fehler/Bugs mit dem bestehenden Code werden dabei zu spät sichtbar.
  • Unnötige Aufwände entstehen durch nachträglich notwendige Anpassungen durch fehlgeschlagene Tests oder Inkompatibilitäten zwischen den unterschiedlichen Software-Strängen (Branches), in denen parallel entwickelt wird.

Lösungsansatz

  • Automatisierte Tests werden vor der eigentlichen Programmierung geschrieben.
  • Kleine Inkremente werden kontinuierlich in die Versionsverwaltung eingecheckt.
  • Branches werden in der Versionskontrolle schnell zusammengeführt.
  • Automatisierte Tests laufen direkt gegen den eingecheckten Code und liefern direktes Feedback an die Entwicklerteams.
    • Automatisierbare Testarten z.B. Unit-Tests, Performancetests, Akzeptanztests, Regressionstests.

Was ist DevOps?

Ziele der kontinuierlichen Integration

Voraussetzungen für Continuous Integration

  • Zentrales Code-Verwaltungssystem.
  • CI-Server (z.B. Jenkins) für Build- und Test-Jobs.
  • CI funktioniert genau dann, wenn man sich auf die Automatisierung der Tests und das kontinuierliche Einchecken von Code einlässt und mit dem Feedback der Tests umgeht.

Key Takeaway

  • CI beschleunigt den Softwareentwicklungsprozess und erhöht die Softwarequalität signifikant durch automatisierte Tests.

Continous Delivery

Die dreitägige SAPUI5 Schulung für Anwendungsarchitekten und SAP Entwickler gibt Ihnen einen Überblick über die gezeigten Technologien, ermöglicht Erfahrungen durch intensive praktische Übungen und vermittelt das Know-how, auf dessen Basis Sie im Anschluss eigenständig mit der Entwicklung von SAPUI5 Anwendungen beginnen können.

Continuous Delivery bedeutet, Ihren Kunden per Knopfdruck eine releasefähige Softwareversion bereitzustellen. Continuous Delivery basiert auf Continous Integration.

Voraussetzungen für Continuous Delivery

  • Der Master-Branch enthält zu jedem Zeitpunkt releasefähigen Code.
  • Continuous Integration wurde umgesetzt und wird gelebt.
  • Freigabestrukturen für die Software sind bis zur Produktionsumgebung automatisiert.
    • Ausnahme: Abnahmetest durch den Fachbereich weiterhin manuell.

Ziele von Continuous Delivery

  • Deployments sind auf den Zielsystemen per Knopfdruck durchführbar.

Key-Takeaway

  • Continuous Delivery steigert die Auslieferungsqualität durch automatisierte Deployments und verbessert damit auch die Auslieferungsgeschwindigkeit.

Continuous Deployment

Continuous Deployment bedeutet, dass Builds auf die Produktionsumgebung automatisiert eingespielt werden. Continuous Deployment ist die letzte Ausbaustufe und nur für ausgewählte Softwareentwicklungen sinnvoll einsetzbar.

Voraussetzungen

  • Continuous Delivery ist umgesetzt und wird gelebt.
  • Entwicklung und Support arbeiten gemeinsam im Vieraugenprinzip.
  • Releases können durch die Entwicklerteams frei gewählt werden.
  • Der Fachbereich muss nicht manuell testen oder Freigaben erteilen.

Key-Takeaway

  • Continuous Deployment steigert die Häufigkeit von Deployments auf der Produktionsumgebung durch Automatisierung.

Wie geht es weiter?

Schritt 1

Sie nehmen telefonisch, per Mail oder Formular Kontakt auf und schildern uns Ihr Anliegen.

Schritt 2

Zur Klärung von Rückfragen und von Details zum weiteren Vorgehen melden wir uns telefonisch bei Ihnen.

Schritt 3

Wir unterbreiten Ihnen ein Angebot und unterstützen Sie gerne auch bei der Präsentation für Ihr Management.

Jetzt Kontakt aufnehmen