Past Meetup

Continuous Delivery of Continuous Delivery (Gerd Aschemann)

This Meetup is past

40 people went

Location image of event venue

Details

Viele Organisationen haben in den letzten Jahren eine Plattform für Continuous Integration oder gar Continuous Delivery aufgebaut. Man kann auch die Plattform selbst nach dem Prinzip "Infrastructure as Code" erstellen und kontinuierlich reproduzieren und testen, sie also zum Gegenstand einer Continuous Delivery Strategie machen. Damit lässt sich nicht nur die Funktionsfähigkeit der Plattform permanent prüfen und garantieren, sondern es können auch sehr leicht weitergehende Use Cases abgebildet werden, z.B. Weiterentwicklung/Upgrade einer Komponente, Integration neuer Komponenten/Plugins, Austausch von Komponente/Prozessen. Außerdem lassen sich beispielsweise Mitarbeiter oder Entwickler damit schulen oder komplexe CI-/CD-Prozesse testen, beispielsweise das Release von Komponenten.

Im Vortrag wird eine Referenz-Plattform aus typischen Open Source-Komponenten, wie sie sich im Java-/Enterprise-Umfeld finden,
vorgestellt:

• SCM-Manager (Source Code Management mit SVN, Git oder Mercurial)

• Nexus (Artifact-Repository)

• SonarQube (Qualitätssicherung/Historisierung)

• Jenkins (Build-Server)

Es wird zunächst demonstriert und erklärt, wie die die Plattform als virtuelle Maschine mit Vagrant und Puppet aufgebaut wird, die Komponenten werden dabei weitgehend als Docker-Container installiert. Anschließend wird gezeigt, wie die Plattform sich selbst reproduziert und dabei kontinuierlich einen Test-Prozess durchläuft. Zum Testen wird ein Java-basiertes Software-Paket als Referenz-Projekt von der automatisch errichteten Plattform gebaut.

Ein Reproduktions-Zyklus ist abgeschlossen, wenn die Plattform das Referenz-Projekt erfolgreich bauen kann. Typische Ereignisse, die einen erneuten Durchlauf erfordern und anstoßen, werden diskutiert, u.a. Änderungen an den bestehenden Komponenten, z.B.

• Einfügen neuer Jenkins-Plugins

• Update auf neue Versionen der Komponenten

• Änderungen am Build-Prozess des Referenz-Projekts.

Speaker
Gerd Aschemann ist als freiberuflicher Berater im Java-Umfeld unterwegs. In den letzten Jahren hat er mehrfach für kleine und große Unternehmen Continuous Integration-/Delivery-Plattformen aufgebaut. Er berät seine Kunden in grundlegenden Fragen zum Thema Build-/Konfigurations-/Versionsmanagement und hat verschiedene Java EE-Projekte als ausführender Software-Architekt in die Produktion überführt.

Gerd hat an der TU Darmstadt Informatik studiert und im Anschluss dort einige Jahre als wissenschaftlicher Mitarbeiter mit dem Schwerpunkt "Management Verteilter Systeme/Konfigurationsmanagement" geforscht.

Eine Veranstaltung des iJUG e.V. organisiert durch die JUG Nürnberg.