mindsquare.de durchsuchen

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, den 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.
E-Book: Was ist DevOps?

In diesem E-Book erfahren Sie mehr über DevOps und ob es für Ihr Unternehmen sinnvoll ist.

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 SAPUI5 Schulung für Anwendungsarchitekten und SAP Entwickler gibt Ihnen einen Überblick über die gezeigten Technologien und ermöglicht Erfahrungen durch intensive praktische Übungen.

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.

Passende Angebote zum Thema

Haben Sie ein gutes Gefühl was die Code-Qualität Ihrer Kundenentwicklungen im SAP angeht? Wenn bei Lesbarkeit, Dokumentation, Modularisierung oder systematischer Transport- & Releasestrategie noch Luft nach oben ist, dann sollten wir uns unterhalten.
Salesforce_Admin_on_Demand
Unser Service „Managed Development" unterstützt Sie dabei, mehr Kapazitäten für die großen Themen in Ihrem Unternehmen zu schaffen.
Design Thinking ist eine Methode für die kreative Entwicklung von Lösungen mit einem starken Fokus auf den Entanwender. Im Kern beschränkt sich das Modell auf drei elemente: Erforschen, Designen und Umsetzen. Erfahren Sie mehr!