Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Continuous Integration mit Jenkins
Das Handbuch für Entwickler und DevOps-Teams. Mit vielen Best Practices und Tipps für gutes Software Engineering
Buch von Marco Schulz
Sprache: Deutsch

39,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

Kategorien:
Beschreibung

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 Softwareentwicklung
  • Software testen: Test Driven Development, Unit- und Integrationstests
  • Agiles Release Management: Sprints vs Release
  • Continuous Delivery
  • Source Control Management
  • Jenkins einrichten und betreiben
  • Build Management
  • Build Jobs schreiben und optimieren
  • Jenkins Pipelines mit Blue Ocean
  • Qualitätskontrolle mit SonarQube
  • Repository Management mit Nexus

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 Softwareentwicklung
  • Software testen: Test Driven Development, Unit- und Integrationstests
  • Agiles Release Management: Sprints vs Release
  • Continuous Delivery
  • Source Control Management
  • Jenkins einrichten und betreiben
  • Build Management
  • Build Jobs schreiben und optimieren
  • Jenkins Pipelines mit Blue Ocean
  • Qualitätskontrolle mit SonarQube
  • Repository Management mit Nexus
Über den Autor
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.
Zusammenfassung
Integrations- und Unit-Tests, richtiges Merging, saubere Codeanlyse
Inhaltsverzeichnis
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

8.2 ... Die Build-Logik ... 222

8.3 ... Anwendungsarten: Mobile, Desktop, Web-App ... 222

8.4 ... Anwendungskonfiguration und Datenhaltung ... 224

8.5 ... Datenbanken ... 229

8.6 ... Backend: Java und Java-Enterprise ... 237

8.7 ... Frontend: JavaScript, [...] und Bower ... 250

8.8 ... Mobile Devices ... 255

8.9 ... Exotische Welten: PHP, Ruby und Co. in Docker-Containern ... 258

8.10 ... Fazit ... 270

9. Jenkins-Build-Jobs ... 273

9.1 ... Build-Jobs schreiben ... 274

9.2 ... Bestehende Jenkins-Jobs optimieren ... 299

9.3 ... Jenkins-Pipelines mit Blue Ocean ... 303

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
Details
Erscheinungsjahr: 2021
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 400 S.
ISBN-13: 9783836278348
ISBN-10: 3836278340
Sprache: Deutsch
Herstellernummer: 459/07834
Einband: Gebunden
Autor: Schulz, Marco
Hersteller: Rheinwerk Verlag GmbH
Maße: 244 x 173 x 27 mm
Von/Mit: Marco Schulz
Erscheinungsdatum: 31.08.2021
Gewicht: 0,87 kg
Artikel-ID: 119712965
Über den Autor
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.
Zusammenfassung
Integrations- und Unit-Tests, richtiges Merging, saubere Codeanlyse
Inhaltsverzeichnis
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

8.2 ... Die Build-Logik ... 222

8.3 ... Anwendungsarten: Mobile, Desktop, Web-App ... 222

8.4 ... Anwendungskonfiguration und Datenhaltung ... 224

8.5 ... Datenbanken ... 229

8.6 ... Backend: Java und Java-Enterprise ... 237

8.7 ... Frontend: JavaScript, [...] und Bower ... 250

8.8 ... Mobile Devices ... 255

8.9 ... Exotische Welten: PHP, Ruby und Co. in Docker-Containern ... 258

8.10 ... Fazit ... 270

9. Jenkins-Build-Jobs ... 273

9.1 ... Build-Jobs schreiben ... 274

9.2 ... Bestehende Jenkins-Jobs optimieren ... 299

9.3 ... Jenkins-Pipelines mit Blue Ocean ... 303

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
Details
Erscheinungsjahr: 2021
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 400 S.
ISBN-13: 9783836278348
ISBN-10: 3836278340
Sprache: Deutsch
Herstellernummer: 459/07834
Einband: Gebunden
Autor: Schulz, Marco
Hersteller: Rheinwerk Verlag GmbH
Maße: 244 x 173 x 27 mm
Von/Mit: Marco Schulz
Erscheinungsdatum: 31.08.2021
Gewicht: 0,87 kg
Artikel-ID: 119712965
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte