Konferenz für Continuous Delivery, DevOps und Containerisierung
Mannheim, Congress Center Rosengarten,
10.-12. November 2015

Continuous Lifecycle 2015 » Programm »

// Continuous Delivery - Konzepte und Werkzeuge für den Lebenszyklus einer Pipeline

Eine Continuous Delivery Pipeline dient primär dazu kontinuierlich einen Überblick über den Qualitätsstand der Software zu haben und diese auf Knopfdruck releasen zu können. Im Alltag muss die Pipeline jedoch außerdem kontinuierlich mit dem Projekt mitwachsen können und dabei gleichzeitig auch für ältere Softwareversionen reproduzierbar bleiben. Das ist nur möglich, wenn man für den Lebenszyklus der Pipeline die selben Prinzipien einsetzt wie für die entwickelte Software selbst.

* Testgetriebene Entwicklung mit Techniken wie BDD/TDD
* Reproduzierbarkeit auch nach Jahren
* Definierter Lebenszyklus für die gesamte Pipeline

Im Workshop lernen die Teilnehmer die Tools und Konzepte kennen, die sich im Projektalltag der Referenten dabei besonders bewährt haben. Anhand eines Beispielprojektes wird im Workshop der vollständige Lebenszyklus einer Pipeline implementiert:

* Aufbau einer mehrstufigen CD Pipeline im Jenkins,
* Integration eines Dashboards zur Visualisierung der Testergebnisse,
* 'Master less'-Chef-Provisionierung von Testumgebungen,
* Einsatz des Environment Cookbook Patterns zur Beschreibung von kompletten Umgebungen,
* Nutzung von testkitchen, chefspec und serverspec für einen TDD-Ansatz für Infrastruktur.

Die verwendeten Tools sind alle Open Source und können direkt in eigenen Projekten eingesetzt werden.

Skills
* Erfahrung in Continuous Integration mit Jenkins.
* Basiswissen zu Virtualisierung.
* Erfahrung mit Virtualbox/Vagrant.

Lernziele
* Die eingesetzten Tools müssen den kompletten Lebenszyklus der Pipeline unterstützen.
* Die schnelle Anwendbarkeit von Änderungen ist genauso wichtig wie die komplette Reproduzierbarkeit.
* Software Engeneering Practices wie TDD sind Pflicht beim Aufbau einer Pipeline.

Technische Anforderungen
Bringen Sie bitte ein eigenes Notebook mit, das mindestens den folgenden Spezifikationen genügt:

* Betriebssystem: Windows >= 7 / MacOS / Linux
* mindestens 4 GB RAM
* 30 GB freiem Plattenplatz
* Port für Kabelnetzwerk (LAN)
* volle Administrationsrechte

Um die Zeit im Workshop möglichst gewinnbringend für Sie nutzen zu können, würden wir Sie bitten, im Vorfeld schon folgende Software auf Ihrem Notebook zu installieren:
Oracle VirtualBox in Version 4.3.x
Den Download der Software für Ihr Betriebssystem finden Sie unter der folgenden URL:

https://www.virtualbox.org/wiki/Download_Old_Builds_4_3

Falls Sie ein Gerät Ihrer Firma verwenden, überprüfen Sie vorher bitte, ob eines der folgenden, gelegentlich vorkommenden Probleme bei Ihnen auftreten könnte.

- Workshop-Teilnehmer hat keine Administrator-Rechte.
- Corporate Laptops mit übermäßig penibler Sicherheitssoftware
- Gesetzte Corporate-Proxies, über die man in der Firma kommunizieren muss, die aber in einer anderen Umgebung entsprechend nicht erreicht werden.

Agenda
9.00: Willkommen, Einleitung
9.15: Continuous Delivery Pipelines: Basics
9.45: Aufbau einer Commit Stage
10.30: Pause
10.45: Aufbau einer Acceptance Test Stage
11.45: Ausblick: Feedback und Parallelisierung
12.15: Mittagspause
13.15: Infrastructure as Code: Basics
13.45: Test getriebene Cookbook Entwicklung mit Chef
14.45: Pause
15.00: Pipelines für Infrastruktur
15.30: Provisionierung von komplexen Umgebungen
16.00: Ausblick: Testumgebungen auf Knopfdruck

// Referenten

// Christoph Lukas Christoph Lukas

unterstützt mit Alexander Birk als pingworks Kunden wie Allsecur/Allianz AG, die Deutsche Telekom AG und die Hybris AG beim zielgerichteten Aufbau und der Weiterentwicklung von Teams und bei der Konzeption und Implementierung von Continuous Delivery.


// Alexander Birk Alexander Birk

unterstützt mit Christoph Lukas als pingworks Kunden wie Allsecur/Allianz AG, die Deutsche Telekom AG und die Hybris AG beim zielgerichteten Aufbau und der Weiterentwicklung von Teams und bei der Konzeption und Implementierung von Continuous Delivery.