Continuous Delivery - DevOps

Continuous Delivery - DevOps

Java-Softwareentwicklung mit Git, Maven und Jenkins

Die Java-Werkzeugkette von Source Code Management zu Continuous Integration

Kursziele

Software in Java zu entwickeln bedeutet mehr, als Java-Quellen in einer Entwicklungsumgebung von Eclipse oder VSCode zu übersetzen. Es wird vielmehr eine Kette von Werkzeugen benötigt, die unabhängig von der genutzten IDE aus Quelltexten fertige Anwendungen oder Bibliotheken macht, die automatisch auf Korrektheit getestet werden.

Aus der großen Menge verfügbarer Werkzeuge haben wir für diesen Kurs diejenigen ausgewählt, die von sehr vielen Entwicklungsteams genutzt werden:
 
Git ist eines der beliebtesten Source Code Management Systeme. Im Gegensatz zu zentralen Versionsverwaltungsystemen wie CVS und Subversion nutzt Git kein einzelnes, gemeinsames Repository, sondern dezentrale Kopien. Jeder im Team kann so Änderungen vornehmen ohne die Arbeit der anderen Teammitglieder zu beeinflussen. Ist lokal das gewünschte Ergebnis erreicht, kann Git die Änderungen mit einem (zentralen) Remote Repository abgleichen.
 
Maven steuert als Build-Werkzeug die nötigen Aufrufe von Compiler, Paketierer etc. Durch den deklarativen Ansatz anstelle der in anderen Build-Tools üblichen Skripting-Möglichkeiten fördert Maven eine einheitliche Vorgehens- und Arbeitsweise. Maven-Projekte haben eine standardisierte Struktur, die von den gängigen IDEs ohne weiteres erkannt und benutzt werden kann.
 
Jenkins sorgt für eine kontinuierliche Überprüfung der Software. Ausgelöst bspw. durch ein Check-In im Git-Repository baut Jenkins die Anwendung oder Bibliothek, lässt Unit- und Integrationstests laufen und prüft Codequalität und Stabilität. Mit Plugins ist Jenkins für nahezu beliebige Aufgaben im Bereich Continuous Integration erweiterbar
 
In diesem Kurs lernen Sie diese Werkzeugkette stückweise kennen. Alle Tools stammen aus der Open Source und sind kostenfrei nutzbar.
 

 

Continuous Delivery - DevOps

Continuous Delivery – Pragmatischer Einstieg

Workshop mit Eberhard Wolff

Kursziele

Continuous Delivery ermöglicht es, Software schneller und zuverlässiger in Produktion zu bringen als bisher. Grundlage dafür ist eine Continuous-Delivery-Pipeline, die das Ausrollen der Software weitgehend automatisiert. Dieser Workshop erläutert den Teilnehmern, wie eine solche Pipeline praktisch aufgebaut wird und welche Technologien dazu eingesetzt werden können. Dabei geht es nicht nur um das Kompilieren und Installation der Software, sondern vor allem um verschiedene Tests, die die Qualität der Software abzusichern. Der Workshop zeigt außerdem, welche Auswirkungen Continuous Delivery auf das Zusammenspiel zwischen Entwicklung und Betrieb im Rahmen des Begriffs DevOps hat. Schließlich werden die Auswirkungen auf die Software-Architektur beschrieben.

Eberhard Wolff hat mehr als 10 Jahre Erfahrung als Architekt, Entwickler und Trainer. Er ist regelmäßiger Sprecher auf verschiedenen internationalen Konferenzen. Außerdem ist er Autor zahlreicher Fachartikel und Bücher – beispielsweise auch des ersten deutschsprachigen Buchs über Continuous Delivery.

 

Continuous Delivery - DevOps

Architecting for Continuous Delivery and Zero Downtime

Kursziele

Dieser Workshop ist als Inhouse-Workshop oder Firmenschulung buchbar. Gerne kommt Axel Fontaine zu Ihnen ins Haus oder wir führen den Workshop für Ihr Unternehmen in einem Business Center europaweit durch. Die Agenda bestimmen Sie.

Sprechen Sie uns an:
Tim Neumann
tim.neumann@gedoplan.de
030 - 7 55 49 188

 

Continuous Delivery - DevOps

Einführung von agilen Methoden und DevOps

Kursziele

Softwareentwicklung und Systemadministration müssen heute schnell und flexibel auf immer kurzfristiger werdende Anforderungswünsche reagieren können.Um diesen Anforderungen gerecht zu werden, erfreuen sie agile Methoden und DevOps immer größerer Beliebtheit. In unserem Kurs erhalten Sie einen Überblick darüber, welche agile Methoden es gibt und welche Ansatzmöglichkeit  DevOps bieten, um die Zusammenarbeit von „Developern“ und „Operatoren“ zu verbessern. Thematisiert werden neben den Vorteilen aber auch Nachteile der beiden Methoden. Und schließlich geben wir Empfehlungen, wie und wo sich dieses Vorgehen am besten einführen lässt.

 

Continuous Delivery - DevOps

Git einsetzen

Verteilte Versionsverwaltung verstehen und anwenden

Kursziele

Git ist eines der beliebtesten Versionsverwaltungssysteme in der Softwareentwicklung. Es wird bei Kleinstvorhaben ebenso eingesetzt wie bei Großprojekten mit über den ganzen Erdball verteilten Entwicklerteams.

Im Gegensatz zu zentralen Versionsverwaltungsystemen wie CVS und Subversion nutzt Git kein einzelnes, gemeinsames Repository. Stattdessen hat jeder Entwickler das Projekt lokal vorliegen. Dieser dezentrale Ansatz ermöglicht es, an den Dateien zu arbeiten, Änderungen vorzunehmen
und zurückzurollen, ohne dabei die Arbeit der anderen Teammitglieder zu beeinflussen. Selbst parallele Entwicklungszweige können lokal vorgehalten werden.

Ist die gewünschte Qualität erreicht, können die Ergebnisse in ein (zentrales) Remote Repository überspielt werden, wobei Git sich um den Abgleich der Änderungen kümmert.

In diesem Kurs erlernen Sie alle wesentlichen Konzepte und Vorgehensweisen, die Sie für ein effizientes Arbeiten mit Git benötigen. Sie erfahren, wie Sie Repositories einrichten, Dateien mit Git verwalten, Änderungen nachverfolgen, bestätigen und wieder rückgängig machen können., und Sie lernen das Branching und Merging zur Arbeit mit ver-schiedenen Entwicklungszweigen kennen.