Moderne Softwareentwicklung besteht aus viel mehr als nur Code und Kaffee. Ohne passende Deployment-Strategien und eine saubere Release-Verwaltung laufen selbst kleine Projekte schnell aus dem Ruder und werden unbeherrschbar. Wie Sie mit Jenkins, Git und Nexus eine CI-Pipeline aufbauen, zeigt Ihnen dieses Praxisbuch anhand der wichtigsten Aspekte erfolgreicher Software-Projekte: Source Control Management, flächendeckende Softwaretests mit einer sinnvollen Qualitätskontrolle und ein gut organisiertes Deployment. Marco Schulz gibt Ihnen dabei nicht nur seine Erfahrung aus zahlreichen…mehr
Moderne Softwareentwicklung besteht aus viel mehr als nur Code und Kaffee. Ohne passende Deployment-Strategien und eine saubere Release-Verwaltung laufen selbst kleine Projekte schnell aus dem Ruder und werden unbeherrschbar. Wie Sie mit Jenkins, Git und Nexus eine CI-Pipeline aufbauen, zeigt Ihnen dieses Praxisbuch anhand der wichtigsten Aspekte erfolgreicher Software-Projekte: Source Control Management, flächendeckende Softwaretests mit einer sinnvollen Qualitätskontrolle und ein gut organisiertes Deployment. Marco Schulz gibt Ihnen dabei nicht nur seine Erfahrung aus zahlreichen internationalen IT-Projekten weiter, sondern hält auch eine Menge Tipps und Überlegungen zum guten Software Engineering für Sie parat.
Aus dem Inhalt:
The Big Picture: DevOps und die SoftwareentwicklungSoftware testen: Test Driven Development, Unit- und IntegrationstestsAgiles Release Management: Sprints vs ReleaseContinuous DeliverySource Control ManagementJenkins einrichten und betreibenBuild ManagementBuild Jobs schreiben und optimierenJenkins Pipelines mit Blue OceanQualitätskontrolle mit SonarQubeRepository Management mit Nexus Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Marco Schulz ist Diplom-Informatiker und Programmierer. Seine Schwerpunkte liegen in den Bereichen Software-Architekturen, der Automatisierung der Softwareentwicklung und dem Softwarekonfigurationsmanagement. Er ist seit über fünfzehn Jahren weltweit als freiberuflicher Entwickler tätig und hat für zahlreiche Kunden Projekte organisiert und Anwendungen programmiert. Sein Wissen gibt er als Consultant, Trainer und Autor weiter.
Inhaltsangabe
Materialien zum Buch ... 11
1. Einführung ... 13
1.1 ... Was Sie schon wissen sollten und was Sie lernen werden ... 13
1.2 ... Worüber wir reden: Eine CI-Pipeline für Ihre Softwareprojekte ... 15
The Big Picture ... 19
2. Jenkins für Eilige ... 21
2.1 ... Jenkins in 10 Minuten ... 21
2.2 ... Jenkins- und DevOps-Fachbegriffe ... 28
2.3 ... Fazit ... 34
3. Das große B(u)ild der Automatisierung ... 37
3.1 ... Die Rollen von DevOps im Softwareentwicklungsprozess ... 43
3.2 ... Infrastruktur für Softwareentwicklungsprojekte ... 48
3.3 ... Sonderfall: Microsoft und .NET in der CI-Pipeline ... 56
3.4 ... Fazit ... 58
4. Software testen -- aber wie? ... 61
4.1 ... Komponententests und das Test-Driven Development ... 65
4.2 ... Akzeptanztests und Behavior-Driven Development ... 78
4.3 ... Integrationstests ... 84
4.4 ... Fazit ... 93
5. Release-Management in einer agilen Welt ... 97
5.1 ... Sprints vs. Release ... 101
5.2 ... Semantische Versionsnummern ... 102
5.3 ... Die Gefahren von Continuous Delivery ... 108
5.4 ... Fazit ... 123
6. Source-Control-Management ... 125
6.1 ... Die Rolle von SCM in der CI-Serverumgebung ... 125
6.2 ... Git und Subversion ... 127
6.3 ... Die Merging-Hölle ... 131
6.4 ... Branch-Modelle und Pull-Requests ... 137
6.5 ... Rebase vs. Merge: Code integrieren ... 146
6.6 ... Feature-Branches nutzen ... 149
6.7 ... Fazit ... 154
Continuous-Integration-Server ... 157
7. Einen CI-Server mit Jenkins einrichten und betreiben ... 159
7.1 ... Voraussetzungen ... 159
7.2 ... Drei Wege zu einer Jenkins-Server-Installation ... 161
7.3 ... Grundkonfiguration und Plug-ins ... 173
7.4 ... Jenkins als verteiltes System aufsetzen ... 186
7.5 ... Benutzerverwaltung ... 210
7.6 ... Fazit ... 217
8. Build-Management ... 219
8.1 ... Historisches: Build-Server, IDEs und das Chaos beim Programmieren ... 220
9.4 ... Jenkins mit der JobDSL automatisieren ... 320
9.5 ... Build-Nummern vergeben -- oder nicht? ... 325
9.6 ... Jenkins RESTful API ... 327
9.7 ... Deployments automatisieren: Scripting mit Bash, PowerShell und Batch ... 330
9.8 ... Fazit ... 334
10. Qualitätskontrolle ... 337
10.1 ... Was ist überhaupt »Qualität«? ... 338
10.2 ... Metriken, und was sie verschweigen ... 340
10.3 ... Jenkins-Plug-ins für mehr Qualität: JaCoCo, OWASP und Maven Site ... 347
10.4 ... SonarQube ... 352
10.5 ... Fazit ... 360
11. Sonatype Nexus: Der Repository-Manager ... 363
11.1 ... Versionen und Zusatzprodukte ... 364
11.2 ... Nexus selbst betreiben ... 365
11.3 ... Konfiguration der Repositories ... 372
11.4 ... Artefakte auf Maven Central veröffentlichen ... 379
11.5 ... Fazit ... 390
A. Abkürzungsverzeichnis ... 391
B. Literaturliste ... 393
Index ... 395
Rezensionen
»Sie erfahren, was für erfolgreiche Softwareprojekte essenziell ist [...]. Schulz gibt einen Überblick über moderne Entwicklungsparadigmen, er zeigt, wie und mit welchen Werkzeugen die professionelle Code-Verwaltung gelingt.« t3n 202111
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Internetauftritt der buecher.de internetstores GmbH
Geschäftsführung: Monica Sawhney | Roland Kölbl | Günter Hilger
Sitz der Gesellschaft: Batheyer Straße 115 - 117, 58099 Hagen
Postanschrift: Bürgermeister-Wegele-Str. 12, 86167 Augsburg
Amtsgericht Hagen HRB 13257
Steuernummer: 321/5800/1497
USt-IdNr: DE450055826