Ein(Blick) in die Maschinerie einer Continuous Delivery Pipeline. Automatisierte Testaggregation und -auswertung für angehende DevOps.

 
Conference Day - 15. Juni
 
11:45
12:30
 
DevOps / Anwendungssicherheit

Wir sind Entwickler in einem dediziertem Team für Release- und Testautomatisierung, das eine Continuous Delivery Pipeline für eine führende eCommerce-Plattform (mit aktuell ca. 170.000 Shops) betreibt.
Im letzten Jahr hat sich aufgrund der Vielzahl der Pipeline-Maschinen (für die jeweiligen Installations- und Patchtypen) der Zeitaufwand für die Auswertung von Testergebnissen (Selenium) deutlich erhöht. Als Automatisierungsspezialisten haben wir uns deshalb für die Einführung einer zentralen Datenbank für alle Testergebnisse, die bei jedem Pipeline-Durchlauf zu Hunderten generiert werden, entschieden.
Unsere Implementierung setzt hierbei auf den REST-basierten ELK-Stack (Elasticsearch, Logstash, Kibana), welcher sich beim performantem und verteiltem Monitoring von System-Logs etabliert hat. Die technologische Basis haben wir hierbei um die Möglichkeit Test-Reports mit verschiedenen Administrations- und UI-Clients zu verwalten erweitert. Zudem wurden die einzelnen Bestandteile durch verschiedene Docker-Container mit Template-basierten Konfigurationsdateien (Jinja2) sowie Provisioning-Tools (Ansible, Puppet) entkoppelt.
Konsequent haben wir dabei auf eine testgetriebene Entwicklung mittels CircleCI gesetzt. Die fertige Gesamtlösung wird unter Einsatz einer eigenen Docker-Registry bedarfsgerecht in den einzelnen, korrespondierenden Jenkins-Jobs eingebunden. Dabei sorgen die Logstash-Container dafür die individuellen Testergebnisse mit Umgebungsdaten anzureichen.
In unserer Session präsentieren wir Euch unsere Motivation, mögliche Lösungsansätze und die implementierten Lösungsbestandteile, insbesondere im praxisnahem Zusammenspiel innerhalb einer Continuous Delivery Pipeline.
Lasst Euch von der Vielfalt an Einsatzmöglichkeiten innerhalb eines produktiven Kontexts überraschen!

Benjamin Nothdurft

ePages GmbH, Jena

Benjamin Nothdurft ist seit 2008 in der Softwarebranche als Entwickler, Tester und technischer Berater sowie regelmäßiger Konferenzbesucher unterwegs. Seit 2012 hat er sich der Softwarequalitätssicherung und Automatisierung verschrieben. Er studierte Wirtschaftsinformatik mit Vertiefung in der Softwareentwicklung von verteilten Java Enterprise Systemen in Ulm.

Bastian Klein

ePages GmbH, Jena

Bastian Klein studierte angewandte Informatik an der DHBW Stuttgart in Kooperation mit der Hewlett-Packard GmbH und ist seit 2012 in der Softwareentwicklung tätig. Seine Schwerpunkte liegen in den Bereichen Testautomatisierung, ELK-Stack, Python und Java.