Agiliät und Continuous Delivery
Von Steffen Schluff, Axel Fontaine und René Lengwinat
()
Über dieses E-Book
Namen Continuous Delivery zusammengefasst werden. Continuous Delivery beginnt dort, wo Continuous Integration endet. Das erste Kapitel erläutert zunächst die Parallelen in
der Entstehung von CI und CD und beschreibt, inwieweit CD als mögliche Weiterführung von CI gesehen werden kann. Im zweiten Kapitel folgt die Betrachtung
von Techniken, die es ermöglichen, eine Softwarearchitektur so aufzubauen, dass sie das Versprechen von CD Realität werden lässt. Das dritte Kapitel
beschäftigt sich letztlich mit CD in der Praxis und beleuchtet die Vor- und Nachteile der auf Continuous Delivery beruhenden architektonischen Entscheidungen.
Ähnlich wie Agiliät und Continuous Delivery
Titel in dieser Serie (100)
Algorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenNFC: Near Field Communication für Android-Entwickler Bewertung: 5 von 5 Sternen5/5Einstieg in Google Go Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 BewertungenSharePoint-Entwicklung für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenF#: Ein praktischer Einstieg Bewertung: 0 von 5 Sternen0 BewertungenSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Bewertung: 0 von 5 Sternen0 BewertungenUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Bewertung: 0 von 5 Sternen0 BewertungenGeolocation mit PHP: Foursquare-API, Google Places & Qype Bewertung: 0 von 5 Sternen0 BewertungenServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Bewertung: 0 von 5 Sternen0 BewertungenTitanium Mobile: Multi Platform Apps mit JavaScript Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Bewertung: 0 von 5 Sternen0 BewertungenUX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 BewertungenJavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Fork-Join-Framework und Phaser Bewertung: 0 von 5 Sternen0 BewertungenBPM: Strategien und Anwendungsfälle Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Bewertung: 0 von 5 Sternen0 BewertungenZend Framework 2: Für Einsteiger und Umsteiger Bewertung: 0 von 5 Sternen0 BewertungenHTML5 für Mobile Web Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenJava EE Security Bewertung: 0 von 5 Sternen0 BewertungenAgile Architektur mit .NET - Grundlagen und Best Practices Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenJava EE 7: Ein Ausblick Bewertung: 0 von 5 Sternen0 BewertungenÜberzeugende Präsentationen: Konzeption, Technik und Design Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 BewertungenSpring: Vier Perspektiven auf Framework und Ökosystem Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
Bessere Softwareentwicklung mit DevOps Bewertung: 0 von 5 Sternen0 BewertungenMicroservices: Der Hype im Realitätscheck Bewertung: 0 von 5 Sternen0 BewertungenGlossar Agilität: kurz - knapp - klar Bewertung: 0 von 5 Sternen0 BewertungenDevOps-Leadership - Schritte zur Einführung und Umsetzung von DevOps: Erfolgreiche Transformation vom Silo zur Wertschöpfungskette Bewertung: 0 von 5 Sternen0 BewertungenAgile Softwareentwicklung: Ein Leitfaden für Manager Bewertung: 0 von 5 Sternen0 BewertungenScrum: Schnelleinstieg Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 13 Bewertung: 0 von 5 Sternen0 BewertungenModerne Datenzugriffslösungen mit Entity Framework 6 Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 16 Bewertung: 0 von 5 Sternen0 BewertungenCloud Computing Grundlagen: Technisch / rechtlich / wirtschaftlich und architekturell Bewertung: 0 von 5 Sternen0 BewertungenDevOps - Erfolgreich Entwicklung und IT-Betrieb verbinden: Grundlagen und Werkzeuge für eine erfolgreiche DevOps-Implementierung Bewertung: 0 von 5 Sternen0 BewertungenBPM in der Praxis Bewertung: 0 von 5 Sternen0 BewertungenAgiles Projektmanagement: Scrum für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenServer-Infrastrukturen mit Microsoft Windows Server Technologien: Alle Themen für das Microsoft Seminar und die Zertifizierungsprüfung MOC 20413 Bewertung: 0 von 5 Sternen0 BewertungenVon Monolithen und Microservices: Funktionierende Microservices-Architekturen erstellen Bewertung: 0 von 5 Sternen0 BewertungenSQL Server: Performanceprobleme analysieren und beheben Bewertung: 0 von 5 Sternen0 BewertungenBPMS: Einführung in Business Process Management-Systeme Bewertung: 0 von 5 Sternen0 BewertungenLogging: Schnelleinstieg Bewertung: 0 von 5 Sternen0 BewertungenZukunftssichere Architektur: So bauen Sie monolithische Anwendungen zu komponentenorientierten um Bewertung: 0 von 5 Sternen0 BewertungenDynamic Proxies: Effizient programmieren Bewertung: 0 von 5 Sternen0 BewertungenProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Bewertung: 0 von 5 Sternen0 BewertungenAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Bewertung: 0 von 5 Sternen0 BewertungenErfolgreich Lastenhefte schreiben: Eine Schritt-für-Schritt-Anleitung für den Mittelstand Bewertung: 0 von 5 Sternen0 BewertungenAgile Architektur mit .NET - Grundlagen und Best Practices Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenSoftware entwickeln mit C#, WPF und dem MVVM-Konzept Bewertung: 0 von 5 Sternen0 Bewertungen.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenSchritt für Schritt: Installation von Windows 10 im Netzwerk: Schnell und effektiv mit den Windows Server Bereitstellungsdiensten. eBook Edition Bewertung: 0 von 5 Sternen0 Bewertungen23 Wege um eine (agile) Transformation an die Wand zu fahren: Der ultimative Leitfaden zur Eliminierung von Selbstorganisation und Mitarbeitermotivation Bewertung: 0 von 5 Sternen0 Bewertungen
Softwareentwicklung & -technik für Sie
Ebenen in Adobe Photoshop CC und Photoshop Elements - Gewusst wie Bewertung: 0 von 5 Sternen0 BewertungenAgile Spiele – kurz & gut: Für Agile Coaches und Scrum Master Bewertung: 0 von 5 Sternen0 BewertungenSketchnotes in der IT: Abstrakte Themen mit Leichtigkeit visualisieren Bewertung: 0 von 5 Sternen0 BewertungenScrum: Agiles Projektmanagement und Scrum erfolgreich anwenden Bewertung: 0 von 5 Sternen0 BewertungenSoftwarearchitektur für Dummies Bewertung: 0 von 5 Sternen0 BewertungenKnigge für Softwarearchitekten. Reloaded Bewertung: 0 von 5 Sternen0 BewertungenKompaktes Managementwissen: Die Grunstruktur agiler Prozesse Bewertung: 0 von 5 Sternen0 BewertungenUML @ Classroom: Eine Einführung in die objektorientierte Modellierung Bewertung: 0 von 5 Sternen0 BewertungenKOMA-Script: Eine Sammlung von Klassen und Paketen für LaTeX 2e Bewertung: 0 von 5 Sternen0 BewertungenEinfach Java: Gleich richtig programmieren lernen Bewertung: 0 von 5 Sternen0 Bewertungen3D-Drucken für Einsteiger: Ohne Frust 3D-Drucker selbst nutzen Bewertung: 0 von 5 Sternen0 BewertungenDigital Paintbook Volume 3 Bewertung: 5 von 5 Sternen5/5Weniger schlecht Projekte managen: Ohne Krise zum Projekterfolg Bewertung: 0 von 5 Sternen0 BewertungenDigital Painting Workbook Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Management Bewertung: 0 von 5 Sternen0 BewertungenKanban für Anfänger: Grundlegendes über den Einsatz von Kanban in der Industrie und der Softwareentwicklung Bewertung: 0 von 5 Sternen0 BewertungenChange Management für Anfänger: Veränderungsprozesse Verstehen und Aktiv Gestalten Bewertung: 1 von 5 Sternen1/5Agiles Requirements Engineering und Testen Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenZertifizierung für Softwarearchitekten: Ihr Weg zur iSAQB-CPSA-F-Prüfung Bewertung: 0 von 5 Sternen0 BewertungenEinfach Python: Gleich richtig programmieren lernen Bewertung: 0 von 5 Sternen0 BewertungenLean Production - Grundlagen: Das Prinzip der schlanken Produktion verstehen und in der Praxis anwenden. Schlank zur Wertschöpfung! Bewertung: 0 von 5 Sternen0 BewertungenProjektmanagement für Anfänger: Grundlagen, -begriffe und Tools Bewertung: 0 von 5 Sternen0 BewertungenAgiles Produktmanagement mit Scrum: Erfolgreich als Product Owner arbeiten Bewertung: 3 von 5 Sternen3/5Einstieg in Reguläre Ausdrücke Bewertung: 0 von 5 Sternen0 BewertungenScrum: Agiles Projektmanagement erfolgreich einsetzen Bewertung: 4 von 5 Sternen4/5Prinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Bewertung: 0 von 5 Sternen0 BewertungenAgiles Projektmanagement: Scrum für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Agiliät und Continuous Delivery
0 Bewertungen0 Rezensionen
Buchvorschau
Agiliät und Continuous Delivery - Steffen Schluff
Steffen Schluff, Axel Fontaine,
René Lengwinat, Michael Fait, Marc Hofer
Agilität und Continuous Delivery
ISBN: 978-3-86802-490-6
© 2013 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Continuous Delivery
Entstehung, aktueller Stand und Ausblick
Das Thema Build Management zusammen mit den etablierten Konzepten rund um Continuous Integration wurde unlängst um neue Ideen ergänzt, die unter dem Namen Continuous Delivery zusammengefasst werden.
Continuous Delivery (CD) wird dabei häufig als Weiterentwicklung von Continuous Integration (CI) bezeichnet, wobei insbesondere die Idee einer Deployment Pipeline dabei helfen soll, den entscheidenden Schritt von CI zu CD zu machen.
Das folgende Kapitel erläutert die Parallelen in der Entstehung von CI und CD, beschreibt, inwieweit CD als mögliche Weiterführung von CI gesehen werden kann und zeigt abschließend, welche Tools zurzeit verfügbar sind, um diese neuen Ideen umsetzbar zu machen.
Ausgangspunkt Continuous Integration
Eines der ältesten Probleme in der Softwareentwicklung ist die Tatsache, dass bei der Zusammenarbeit mehrerer Entwickler unvermeidbar so genannte Integrationsfehler entstehen. Je später diese Fehler entdeckt werden, umso aufwendiger und damit teurer ist deren Beseitigung. Obwohl über dieses Thema schon zuvor ausführlich publiziert worden war [1], ist es hauptsächlich Martin Fowlers Onlineartikel „Continuous Integration" [2] aus dem Jahre 2000, der den bis dato gültigen De-facto-Standard in diesem Bereich darstellt.
Es waren vor allem die folgenden drei Faktoren, die rückblickend für den nachhaltigen Erfolg von Fowlers Ansatz verantwortlich sind:
Continuous Integration ist ein sehr eingängiger Begriff, der nicht nur den technischen Sachverhalt gut zusammenfasst sondern auch als „Buzzword" taugt. Letzteres ist vor allem dann bedeutsam, wenn um Mittel und Ressourcen geworben wird.
Fowler benennt detailliert konkrete „Key Practices", die als Orientierungshilfe beim Einsatz von CI dienen, wie zum Beispiel „Automate the Build oder „Make Your Build Self-Testing
. Somit existiert eine Referenz anhand derer man zeigen kann, dass man tatsächlich CI verwendet und sich nicht nur mit einem Modewort schmückt.
Begleitend zu dem Artikel waren einsetzbare Tools erhältlich, sodass die dargestellten Konzepte auch sofort in der Praxis angewendet werden konnten. Genauer gesagt hatte die Firma ThoughtWorks zu dem damaligen Zeitpunkt den Quellcode von CruiseControl [3], einem frei verfügbaren Open-Source-CI-Server, bereitgestellt.
Abbildung 1.1 zeigt den schematischen Aufbau eines typischen CI-Systems, bestehend aus dem Server selbst sowie weiteren Bestandteilen.
Abbildung 1.1: Schematischer Aufbau eines CI-Systems
Der abgebildete Kreislauf startet, wenn das Entwicklerteam Änderungen an einem Projekt durchführt und diese an das Version Control System (VCS) übergibt. Der CI-Server, der in bestimmten Zeitabständen das VCS prüft, stößt im Falle einer Änderung einen so genannten CI Build an. Hierbei wird mittels eines Build-Tools wie Maven oder Ant der aktuelle Projektstand kompiliert und üblicherweise auch automatisiert getestet. Abschließend wird der Build durch den CI-Server als erfolgreich oder fehlgeschlagen klassifiziert und das Entwicklerteam entsprechend