JAX Countdown

Continuous Delivery mit Komponenten: "Küssen kann man nicht alleine"

Hartmut Schlosser

Continuous Delivery ist das Schlagwort der Stunde – also das schnelle und regelmäßige Ausrollen neuer Versionen einer Software mittels Techniken wie Test-Automatisierung, Continuous Integration und automatisierten Deployments. Hans Dockter, Gründer des Build-Werkzeugs Gradle, nimmt sich auf der JAX des Themas an. In dieser Folge des JAX Countdown spricht er über die besondere Problemlage Komponenten-basierter Anwendungen und gibt Einblicke in den aktuellen Entwicklungsstand von Gradle. Insbesondere verrät er uns den Release-Termin für Gradle 1.0!

Hans Dockter auf der JAX

Hans Dockter können Sie auf der JAX live erleben:

Rocking the Gradle

18.04.2012 | 10:15 – 11:15


Gradle ist der neue Stern am Himmel der Open-Source-Build-Systeme. Mit Gradle lässt sich der Build elegant an die projektspezifischen, unvorhersehbaren Anforderungen anpassen. Anhand vieler Livebeispiele geben wir einen Einblick in die Konzepte und die Anwendung von Gradle. Dabei zeigen wir viele einzigartige Funktionen, die in der letzten Zeit zu Gradle hinzugefügt wurden. Die Teilnehmer dürfen sich wieder auf elegante Build-Skripts, noch schnellere Builds und innovative Features freuen.

Küssen kann man nicht alleine – Continuous Delivery mit Komponenten

19.04.2012 | 17:15 – 18:15


Fast alle Enterprise-Software-Projekte sind komponentenbasiert. Die Abhängigkeit der Komponenten möchte man gerne durch frühe Integration stetig testen. Gleichzeitig verhindert das oft ein kontinuierliches Bauen und Promoten der Gesamtapplikation. Hier gute Lösungen zu finden (ohne einfach auf eine späte, meist leidvolle Integration auszuweichen), ist ein wichtiger Faktor für den Projekterfolg. Wir betrachten typische Knackpunkte sowie neue Lösungsstrategien und lernen ein Open-Source-Werkzeug kennen, mit dem sich letztere in einer bisher nicht dagewesenen Eleganz und Mächtigkeit umsetzen lassen.

Infos: www.jax.de

JAXenter: „Küssen kann man nicht alleine“ – mit dieser schönen Binsenweiheit startest du in die JAX. Ich nehme an, es wird trotz des menschlichen Titels um Softwareentwicklung gehen?

Hans Dockter: Die Annahme ist richtig, ich werde nicht anfangen zu singen ;).

Ich denke, wir stehen als Software-Community, was die Best Practices von Continuous Delivery anbelangt, noch ziemlich am Anfang. Wir haben viel Consulting in den letzten Jahren für sehr große Enterprise Builds gemacht. Über einen Teil dieser Erfahrungen möchte ich in diesem Talk sprechen. Es geht hier vor allem um die Skalierung von Continuous Delivery.

JAXenter: Zu den Best Practices von Continuous Delivery gehört es, dass Integrationen von Komponenten möglichst früh durchgeführt werden. Wie kann man das erreichen, ohne ein kontinuierliches Bauen der Gesamtanwendung zu behindern?

Hans Dockter: In Abhängigkeit von der Größe und Komplexität des Projektes, aber auch von der Qualität der involvierten Teams und der Code-Basis, funktioniert es irgendwann nicht mehr, seine Komponente lokal zu testen und dann seinen Code einfach zum Produktiv-Code zu committen. Die Wahrscheinlichkeit, dass die Gesamtapplikation dann nicht mehr funktioniert, wird zu hoch. Man hat zwar frühe Rückmeldung über Probleme, was das Ziel von Continuous Integration ist, aber man schafft es zu selten, neue Features den anderen Team, z. B. dem Test-Team, zur Verfügung zu stellen. Das verzögert die Auslieferung von Software und deren Qualität erheblich. Um diesen Fluss von neuen Features sicherstellen, braucht man zusätzliche Mechanismen, die den Produktiv-Code vor neuen Commits schützen. Mehr darüber in meinem Talk.

JAXenter: Du stellst auch die Neuerungen im Build-Werkzeug Gradle vor. Was hat sich in der letzten Zeit bei Gradle getan?

Hans Dockter: Wir haben in der letzten Zeit vor allem das Dependeny Management verbessert. Wir unterstützen weiterhin ivy.xml Dependency-Deskriptoren, nur verwenden wir Ivy nicht mehr intern als Library, sondern haben ein eigenes Dependeny Management implementiert mit vielen mächtigen Features und noch besserer Maven-Kompatibilität. Wir haben viel an der IDE-Integration mit Eclipse verbessert und sehr coole Änderung für das Java, Groovy und Scala Compilieren eingeführt. Außerdem haben wir viele kleine Dinge verbessert, auch das Error-Reporting. In meinem Gradle Talk werde ich einen umfassenden Überblick darüber geben. Und bevor ich es vergesse, in etwa zwei Wochen wird nach vier Jahren Entwicklungszeit Gradle 1.0 released.

JAXenter: Der nächste Schritt ist also Gradle 1.0. Was steht danach an?

Hans Dockter: Es gibt drei große Bereiche, in denen wir schnell Fortschritte machen wollen. Das sind parallele und verteilte Builds, zusätzliche Features für Gradle Multi-Project Builds, eine bessere Infrastruktur für das Gradle-Plug-in-Ökosystem sowie die Möglichkeit, beliebige Maven-Projekte und Maven-Plug-ins mit Gradle zu bauen.

JAXenter: Vielen Dank für Dein Update und viel Spaß auf der JAX!

Hans Dockter ist der Gründer und Leiter von Gradle sowie der Geschäftsführer der Gradle GmbH, einem Unternehmen, das Training, Support und Beratung für Gradle und Enterprise-Projektautomatisierung im Allgemeinen anbietet. Hans Dockter hat 13 Jahre Erfahrung als Softwareentwickler, Projektleiter, Architekt, Trainer und Mentor. Er ist einer der führenden Köpfe im Gebiet der Projektautomatisierung und zeigt sich verantwortlich für eine Vielzahl von komplexen Enterprise Builds. Er ist auch ein Verfechter von Domain-driven Design und gab Vorträge und Trainings zusammen mit Eric Evans zu diesem Thema. In grauer Vorzeit war er auch Committer für das JBoss-Projekt und schuf die JBoss-IDE.
Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.