Continuous Delivery - Der pragmatische Einstieg
von: Eberhard Wolff
dpunkt, 2016
ISBN: 9783864919305
Sprache: Deutsch
282 Seiten, Download: 3445 KB
Format: PDF, auch als Online-Lesen
Inhaltsverzeichnis | 5 | ||
1 Einleitung | 11 | ||
1.1 Überblick über Continuous Delivery und das Buch | 11 | ||
1.2 Warum überhaupt Continuous Delivery? | 12 | ||
1.3 Für wen ist das Buch? | 15 | ||
1.4 Neu in der 2. Auflage | 15 | ||
1.5 Übersicht über die Kapitel | 17 | ||
1.6 Pfade durch das Buch | 18 | ||
1.7 Danksagung | 20 | ||
2 Continuous Delivery: Was und wie? | 23 | ||
2.1 Was ist Continuous Delivery? | 23 | ||
2.2 Warum Software-Releases so kompliziert sind | 23 | ||
2.3 Werte von Continuous Delivery | 24 | ||
2.4 Vorteile von Continuous Delivery | 27 | ||
2.4.1 Continuous Delivery für Time-to-Market | 27 | ||
2.4.2 Continuous Delivery zur Risikominimierung | 30 | ||
2.4.3 Schnelleres Feedback und Lean | 33 | ||
2.5 Aufbau und Struktur einer Continuous-Delivery- Pipeline | 34 | ||
2.6 Links & Literatur | 38 | ||
3 Infrastruktur bereitstellen | 39 | ||
3.1 Einleitung | 39 | ||
3.2 Installationsskripte | 41 | ||
3.3 Chef | 44 | ||
3.3.1 Technische Grundlagen | 47 | ||
3.3.2 Chef Solo | 54 | ||
3.3.3 Chef Solo: Fazit | 56 | ||
3.3.4 Knife und Chef Server | 56 | ||
3.3.5 Chef Server: Fazit | 61 | ||
3.4 Vagrant | 61 | ||
3.4.1 Ein Beispiel mit Chef und Vagrant | 63 | ||
3.4.2 Vagrant: Fazit | 65 | ||
3.5 Docker | 65 | ||
3.5.1 Dockers Lösung | 66 | ||
3.5.2 Docker-Container erstellen | 69 | ||
3.5.3 Beispielanwendung mit Docker betreiben | 71 | ||
3.5.4 Docker und Vagrant | 73 | ||
3.5.5 Docker Machine | 76 | ||
3.5.6 Komplexe Konfigurationen mit Docker | 78 | ||
3.5.7 Docker Compose | 80 | ||
3.6 Immutable Server | 83 | ||
3.7 Infrastructure as Code | 84 | ||
3.8 Platform as a Service (PaaS) | 87 | ||
3.9 Umgang mit Daten und Datenbanken | 89 | ||
3.10 Fazit | 92 | ||
3.11 Links & Literatur | 93 | ||
4 Build-Automatisierung und Continuous Integration | 97 | ||
4.1 Überblick | 97 | ||
4.2 Build-Automatisierung und Build-Tools | 98 | ||
4.2.1 Ant | 100 | ||
4.2.2 Maven | 100 | ||
4.2.3 Gradle | 105 | ||
4.2.4 Weitere Build-Tools | 108 | ||
4.2.5 Das geeignete Tool auswählen | 109 | ||
4.2.6 Links und Literatur | 110 | ||
4.2.7 Experimente und selber ausprobieren | 110 | ||
4.3 Unit-Tests | 111 | ||
4.3.1 »Gute« Unit-Tests schreiben | 113 | ||
4.3.2 TDD – Test-driven Development | 115 | ||
4.3.3 Clean Code und Software Craftsmanship | 116 | ||
4.3.4 Links und Literatur | 116 | ||
4.3.5 Experimente und selber ausprobieren | 117 | ||
4.4 Continuous Integration | 117 | ||
4.4.1 Jenkins | 118 | ||
4.4.2 Continuous-Integration-Infrastruktur | 124 | ||
4.4.3 Fazit | 125 | ||
4.4.4 Links und Literatur | 126 | ||
4.4.5 Experimente und selber ausprobieren | 126 | ||
4.5 Codequalität messen | 128 | ||
4.5.1 SonarQube | 130 | ||
4.5.2 Links und Literatur | 132 | ||
4.5.3 Experimente und selber ausprobieren | 132 | ||
4.6 Artefakte managen | 133 | ||
4.6.1 Integration in den Build | 135 | ||
4.6.2 Weiterreichende Funktionen von Repositories | 137 | ||
4.6.3 Links und Literatur | 137 | ||
4.6.4 Experimente und selber ausprobieren | 137 | ||
4.7 Fazit | 138 | ||
5 Akzeptanztests | 141 | ||
5.1 Einführung | 141 | ||
5.2 Die Test-Pyramide | 141 | ||
5.3 Was sind Akzeptanztests? | 145 | ||
5.4 GUI-basierte Akzeptanztests | 149 | ||
5.5 Alternative Werkzeuge für GUI-Tests | 155 | ||
5.6 Textuelle Akzeptanztests | 157 | ||
5.7 Alternative Frameworks | 160 | ||
5.8 Strategien für Akzeptanztests | 162 | ||
5.9 Fazit | 164 | ||
5.10 Links & Literatur | 165 | ||
6 Kapazitätstests | 167 | ||
6.1 Einführung | 167 | ||
6.2 Kapazitätstests – wie? | 168 | ||
6.3 Kapazitätstests implementieren | 173 | ||
6.4 Kapazitätstests mit Gatling | 174 | ||
6.5 Alternativen zu Gatling | 179 | ||
6.6 Fazit | 181 | ||
6.7 Links & Literatur | 182 | ||
7 Exploratives Testen | 183 | ||
7.1 Einleitung | 183 | ||
7.2 Warum explorative Tests? | 183 | ||
7.3 Wie vorgehen? | 185 | ||
7.4 Fazit | 189 | ||
7.5 Links & Literatur | 190 | ||
8 Deploy – der Rollout in Produktion | 191 | ||
8.1 Einleitung | 191 | ||
8.2 Rollout und Rollback | 192 | ||
8.3 Roll Forward | 193 | ||
8.4 Blue/Green Deployment | 195 | ||
8.5 Canary Releasing | 196 | ||
8.6 Continuous Deployment | 198 | ||
8.7 Virtualisierung | 200 | ||
8.8 Jenseits der Webanwendungen | 202 | ||
8.9 Fazit | 203 | ||
8.10 Links und Literatur | 204 | ||
9 Operate – Produktionsbetrieb der Anwendungen | 205 | ||
9.1 Einleitung | 205 | ||
9.2 Herausforderungen im Betrieb | 206 | ||
9.3 Log-Dateien | 208 | ||
9.3.1 Werkzeuge zum Verarbeiten von Log-Dateien | 210 | ||
9.3.2 Logging in der Beispielanwendung | 212 | ||
9.4 Logs der Beispielanwendung analysieren | 213 | ||
9.4.1 Experimente und selber ausprobieren | 218 | ||
9.5 Andere Technologien für Logs | 221 | ||
9.6 Fortgeschrittene Log-Techniken | 222 | ||
9.7 Monitoring | 223 | ||
9.8 Metriken mit Graphite | 224 | ||
9.9 Metriken in der Beispielanwendung | 226 | ||
9.9.1 Experimente und selber ausprobieren | 227 | ||
9.10 Andere Monitoring-Lösungen | 229 | ||
9.11 Weitere Herausforderungen beim Betrieb der Anwendung | 230 | ||
9.12 Fazit | 231 | ||
9.13 Links & Literatur | 232 | ||
10 Continuous Delivery im Unternehmen einführen | 235 | ||
10.1 Einleitung | 235 | ||
10.2 Continuous Delivery von Anfang an | 235 | ||
10.3 Value Stream Mapping | 236 | ||
10.4 Weitere Optimierungsmaßnahmen | 239 | ||
10.5 Zusammenfassung | 243 | ||
10.6 Links & Literatur | 243 | ||
11 Continuous Delivery und DevOps | 245 | ||
11.1 Einführung | 245 | ||
11.2 Was ist DevOps? | 245 | ||
11.3 Continuous Delivery und DevOps | 249 | ||
11.4 Continuous Delivery ohne DevOps? | 253 | ||
11.5 Fazit | 255 | ||
11.6 Links & Literatur | 256 | ||
12 Continuous Delivery, DevOps und Softwarearchitektur | 257 | ||
12.1 Einleitung | 257 | ||
12.2 Softwarearchitektur | 257 | ||
12.3 Komponentenaufteilung für Continuous Delivery optimieren | 260 | ||
12.4 Schnittstellen | 262 | ||
12.5 Datenbanken | 265 | ||
12.6 Microservices | 268 | ||
12.7 Umgang mit neuen Features | 271 | ||
12.8 Fazit | 274 | ||
12.9 Links & Literatur | 275 | ||
13 Fazit: Was bringt’s? | 277 | ||
13.1 Links & Literatur | 278 | ||
Index | 279 | ||
www.dpunkt.de | 0 |