Trainee Karriere

Die Pipeline steht - vom Code in die Cloud

Unsere Trainees designten einen umfassenden Test- und Bereitstellungsprozess, in dem Changes, Builds, Tests und Deployment in einer automatisierten Pipeline miteinander verbunden werden.

In den letzten 6 Wochen beschäftigten wir uns in einem Praxisprojekt mit dem Erstellen und Vorstellen einer Continuous Deployment Pipeline.  Im Zentrum des Projekts stand eine sich in der laufenden Entwicklung befindende Web-Anwendung. Exemplarisch wurde für das Projekt die "Petclinic" betrachtet.

Für jeden neuen commit der Entwickler - also dem Einspielen von neuem oder geändertem Quelltext - wird schrittweise ein automatisierter Testablauf durchlaufen. Außerdem wird automatisch die für das Testen benötigte Infrastruktur bereitgestellt und mit HPE Operations Orchestration verwaltet. Ein klassisches DevOps-Szenario.

Erstellt wurde die Pipeline mit dem Open-Source-Tool Jenkins, ein erweiterbares, webbasiertes Software-System zur kontinuierlichen Integration

Vom Code in die Cloud und zurück
Die Pipeline beginnt in der Phase: "Preparation" mit  Aufbereitung und Analyse des neuen Codes. Mithilfe des statischen Analyse-Tools „Sonarqube“ wird dieser auf Korrektheit geprüft. Nach erfolgreichem Abschluss dieses Tests beginnt die nächste Phase: "Build & Distribute". Der neue Code wird kompiliert und auf Repositories verteilt. Des Weiteren werden mit JUnit Unittests durchgeführt. Anschließend wird die Anwendung  einmal auf vSphere und einmal auf Microsoft Azure deployed. Die dafür nötige Infrastruktur wird an dieser Stelle automatisch erzeugt.

In den folgenden Phasen werden erst Funktional- und dann Performance-Tests auf den soeben erzeugten Testinstanzen durchgeführt. Dafür werden unter anderem gängige Werkzeuge, wie HPE Unified Functional Testing (UFT), HPE LeanFT und HPE Loadrunner verwendet.

Da wir ordentlichen Menschen sind, wird nach dieser Phase - unabhängig vom Ergebnis der Tests - wieder aufgeräumt, indem die zuvor erstellten virtuellen Maschinen wieder gelöscht werden. Unter der Voraussetzung positiv durchlaufener Tests, findet unter Verwendung eines HPE Cloud Service Automation (CSA)-Offerings abschließend noch ein Deployment in eine simulierte Produktivumgebung statt.

In wöchentlichen Zwischenpräsentationen gab es stets wertvolles Feedback. So konnten wir die Funktionalität der Pipeline sowie unsere Vortragsweise sukzessive optimieren. An dieser Stelle nochmal vielen Dank dafür an Mario, Thomas, Michael, Martin, Michelle, Jana, Tina, Andrea, Sebastian, Daniel und Frank.

Zum Ende des Projekts präsentierten wir unsere Ergebnisse letzte Woche Freitag in einer vortragsgeführten Live-Demo.

Autor

Gregor Schuldt Associate IT-Consultant
Gregor Schuldt