Von meinem Rechner in die Cloud – Continous Integration wie maßgeschneidert

 
15:05 - 15:45
 
Seminarraum 1.812

Ich gehe davon aus, dass Sie Unit-Tests und ein automatisches Buildsystem (Maven, Gradle und Co.) im Einsatz haben... Spiegelt das den Stand der Mehrheit der Softwareentwickler Teams wieder? Leider nicht immer.

In vielen Projekten, ob neu oder legacy, sieht die Realität noch ganz anders aus. Dies hat viele Gründe, Ausreden und zwingende Notwendigkeiten, dass man sie nicht einmal annähernd aufzählen kann. Mit unserem Vortrag möchten wir genau diese Teams ermutigen sich mit Continous Integration (CI) zu befassen und aufzeigen, wie man mit wenig Aufwand und wieder verwendbaren Bausteinen viel für sich und andere bewegen kann. Dazu legen wir einen Weg dar, wie man CI, angefangen mit einem kleinen „CI-System“ auf dem eigenen Rechner, bis hin zu einem „kompletten CI-System“, das sogar in einer Cloud beliebig skalierbar ist, für sich nutzen kann.

Die Nutzung von vorhandenen Frameworks, Wiederverwendbarkeit und Skalierbarkeit sind die zentralen Punkte unseres Ansatzes. Wir wollen das Rad nicht immer und immer wieder neu erfinden! Um dies zu erreichen bedienen wir uns der Docker-Container Technologie. Wir werden vorführen, wie man Docker für das Aufsetzen des kleinen CI Servers auf „meinem Rechner“ nutzt. Diesen ersten Ansatz zu „einen Rechner unter dem Schreibtisch“ ausbaut. Und letztlich eine geclusterte Version in der Cloud oder auf der privaten Firmen Server-Farm damit realisiert.

Eine skalierbare CI Lösung muss neben dem eigentlichen Build andere Komponenten wie Integrationstests berücksichtigen. Schnell führen die Anforderungen an die Integrationstest-Umgebung zu einem komplexen Serversystem mit entsprechendem Maintenance-Aufwand. Wie kann dieser Aufwand reduziert werden? Und wie bleibt die CI Lösung mit diesen neuen Anforderungen beherrschbar? Der Einsatz von Docker ermöglicht auch hier elegante Lösungen, die auch eine Parallelisierung der wachsenden Integrationstests ganz leicht machen.

Auch die anderen in Projekten immer wieder benötigten Systeme, wie ein Staging-System, eine Test Umgebung für manuelles Testen, ein System zur Abnahme beim Kunden, Demo-System usw. können in die Docker basierte CI Lösung integriert werden und bedeuten mit unserem Ansatz nur geringe Mehraufwände.

Der Vortrag zeigt wie Docker eine effiziente CI Lösung ermöglicht und Sie mit einer kleinen CI Lösung startend Schritt für Schritt zu einem vollständigen Continious-Delivery-System gelangen. Leicht können beliebig viele Schritte und Server in Ihre maßgeschneiderte Buildpipeline integriert werden.

Daniel Zwicker

In2Experience GmbH

Über 10 Jahre ist Daniel Zwicker im Java und JEE Umfeld tätig und kann auf Erfahrung aus internationalen, agilen Projekten mit großen Entwicklerteams und unterschiedlichen Rollen zurück blicken. Nach Stationen bei SAP Research, Lufthansa Systems und der Finanz Informatik Solutions Plus (Sparkassen Gruppe) ist er jetzt Chief Architect beim Startup In2Experience GmbH. Neben seiner ausgeprägten Freude an der Software-Entwicklung und -Architektur im JEE-Umfeld entdeckte er bereits früh sein Interesse für Prozesse und Abläufe im Bereich Build-, Deploy- und Servermanagement, welche seit einigen Jahren unter dem Begriff DevOps bekannt geworden sind.