Call for Papers

Continuous Delivery und DevOps ( Vortrag )

Lösungsszenarien für Embedded C/C++

Referent: Johannes Nicolai, GitHub
Vortragsreihe: Software Engineering Management II
Zeit: 04.12.18 16:45-17:25

Zielgruppe

Entwicklung

Themenbereiche

Implementierung, Test & Qualitätssicherung, Software Engineering Management, Mensch & Team

Schwerpunkt

Methode

Voraussetzungen

Grundlagenwissen

Kurzfassung

Kurze, reproduzierbare Builds sind unabdingbar für eine Continuous Delivery Pipeline. Erneutes Kompilieren aller Abhängigkeiten für jeden Build und Einchecken von Binärdateien sind in der DevOps-Welt als Anti-Pattern identifiziert worden. Das dafür notwendige deklarative Abhängigkeitsmanagement mittels Maven, Nuget, NPM, etc. hat sich seit Jahren in der Java, JavaScript und .NET-Welt durchgesetzt. Leider sind in der embedded C/C++-Welt diese Anti-Pattern immer noch relativ gang und gäbe und oft ein großes Hindernis um Software-Releases schnell und sicher gemäß des Continuous Delivery-Gedanken auszuliefern. Dieser Talk zeigt auf: * warum deklaratives Paketmanagement eine Grundvoraussetzung für CD darstellt * warum Ansätze wie Git Submodules/LFS allein nicht weit genug greifen * wie conan.io, ein Open Source Paketmanager genutzt werden kann um cross-platform C/ C++-Bibliotheken zu verwalten * wie mit conan.io eine tolle GitHub-Applikation für mehrere Plattformen gebaut werden kann

Gliederung

* Einleitung und typische Continuous Deployment Stolpersteine
* Was Continuous Delivery und DevOps mit Paketmanagement zu tun haben (und wie ich es meinem Chef erkläre)
* Leistungsspekturm moderner Paketmanager
* Warum Git Submodules und Git LFS alleine nicht ausreichen
* Einführung von conan.io, einem cross-platform Paketmanager, der mit den Besonderheiten von C und C++ vertraut ist
* Ausführliches Praxisbeispiel basierend auf Zen of GitHub, conan.io und einigen C-Bibliotheken
* Pro-Tips für den cross-platform build komplexer Anwendungen mit Jenkins, AppVeyor und Travis CI
* Zusammenfassung

Nutzen und Besonderheiten

Nach dem Talk sollten embedded C und C++-Entwickler keine Ausrede mehr haben, ebenfalls Continuous Delivery auszuprobieren.

Über den Referenten

Johannes Nicolai ist ein langjähriger Open Source-Contributor. Als Enterprise Solutions Engineer bei GitHub hilft er Unternehmen bei technischen und kulturellen Herausforderungen rund um Software Entwicklung, agiler Transformation und Inner Source gerne weiter. Vor GitHub war Johannes bei CollabNet als Europaleiter für die Weiterentwicklung von Subversion, TeamForge und Gerrit zuständig. Johannes besitzt einen Master Abschluss vom HPI und ist zertifizierter Jenkins Engineer, Scrum Master und PO.