Die Verwendung von Feature Branches bietet den Vorteil, dass man in einem isolierten Bereich entwickeln kann und die Ergebnisse erst nach Abschluss der Arbeiten in die Hauptentwicklungslinie einfließen lassen muss. Ein Kerngedanke von Continuous Integration ist aber die mindestens tägliche Integration der Arbeit aller Projektmitglieder, weshalb oft zu hören ist, dass Feature Branches durch deren verspätete Integration für CI unbrauchbar seien.
Der Vortrag stellt die Hintergründe dieses "Streits" vor und zeigt, wie Feature Branches durch entsprechende Maßnahmen und Tool-Unterstützung im CI-Server helfen können, den Master fehlerfrei zu halten – ohne Abstriche beim Testen.
Vorkenntnisse
Grundlegendes Wissen über Continuous Integration, DVCS und Branching sind hilfreich.
Lernziele
* Verstehen der jeweiligen grundsätzlichen Standpunkte "Feature Branches are evil" bzw. "decentralized versioning needs decentralized testing and integration"
* Kennenlernen ausgewählter Lösungsansätze wie "Feature Toggles" oder "Branching by Abstraction"
* Kennenlernen der aktuellen Tool-Unterstützung (CI-Server) im Bereich Feature Branching wie "branch detection with automatic tesing", "automatic branch merging on build success"
// Steffen Schluff
ist Leiter der Software Factory der OIO Orientation in Objects GmbH und verantwortlich für die in der Entwicklung eingesetzten Werkzeuge und Verfahren, wobei sein besonderes Interesse dem Thema Continuous Delivery gilt.
// Sebastian Damm
ist bei der OIO Orientation in Objects GmbH in Mannheim als Trainer, Berater und Entwickler tätig. Seine Schwerpunkte liegen im Bereich Webanwendungen mit Java EE und GWT sowie der Automatisierung funktionaler Systemtests.