Test-driven development of CI/CD pipelines

Am 19. und 20. Oktober findet die BaselOne22 statt. Regelmäßig sind dort die größten Schweizer Unternehmen vertreten, um sich zu allen Themen rund um Software Engineering auszutauschen. Conciso ist mit einer englischsprachigen Session dabei.

Veranstaltungsdaten

Art:

Konferenz

Datum:

19.10.2022 08:30 Uhr – 20.10.2022 15:00 Uhr

Ort:

Preis:

ab CHF 270 (EUR 270)

Anmeldung:

Veranstalter:

Kalender:

Teile diese Veranstaltung

Eine der großen Stärken von Microservice-Architekturen besteht darin, dass die einzelnen Services unabhängig voneinander voll automatisch und dadurch mit hoher Kadenz gebaut, getestet und bei Bedarf auch ausgeliefert werden können.
Dazu werden CI/CD-Pipelines eingesetzt, die heute von immer größerer Bedeutung werden, da sie bei gelebtem Continuous Deployment nicht nur Build- und Test-Aspekte sondern auch das kritische Deployment in die Produktion umfassen.

Vollkommen zurecht wird in der DevOps-Community daher seit einiger Zeit dafür geworben, den lange Zeit eher nachlässig behandelten Pipelines mit der selben Sorgsamkeit zu begegnen wie dem Anwendungscode – zuletzt unter dem Stichwort „DevSecOps“. Zu den wesentlichen Prinzipien zählt dabei, dass jeder für die Sicherheit von Pipelines verantwortlich ist und diese von Anfang an mitbedacht werden sollte, so wie es sich bei der Entwicklung von Software als gute Praxis herausgestellt hat.

Aus der Softwareentwicklung wissen wir aber auch: Konsequente Qualitätssicherung ist unerlässlich und zahlt sich insbesondere langfristig aus. Hier gilt inzwischen die testgetriebene Entwicklung als lege artis, bei der vor der Implementierung von Funktionalität zunächst die Softwaretests erstellt werden. Übertragen auf Pipelines stellt sich somit die Frage, ob sich diese ebenfalls testgetrieben entwickeln lassen.

In dieser live-coding Session entwickeln wir am Beispiel des beliebten und weit verbreiteten Automatisierungsservers Jenkins Schritt für Schritt dar, wie eine CI/CD-Pipeline vollkommen testgetrieben entwickelt werden kann. Dazu entwickeln wir anhand konkreter Codebeispiele eine CI/CD-Pipeline für einen beispielhaften Microservice von Grund auf unter Beachtung der TDD-Prinzipien neu und zeigen wie sich mit den entsprechend konfigurierten Plugins die gängigen Konzepte des Softwaretestens wie Unit-Tests, Assertions und Mocks anwenden lassen.

Die Veranstaltung findet in englischer Sprache statt.

Speaker:

Profilbild von Lukas Pradel
Lukas Pradel –
Senior Consultant