Cover image for Jenkins kurz & gut

Book description


Ein wichtiger Bestandteil moderner, agiler Softwareentwicklung ist die kontinuierliche Integration von Code-Änderungen in die existierende Software (Continuous Integration, CI). Während Programmierer früher monatelang an neuen Modulen bastelten, um sie dann zu einem bestimmten Stichtag ins System zu spielen (und nur allzu oft daran zu scheitern), lässt sich mit modernen CI-Tools jede kleine Programmänderung sofort integrieren, automatisch testen und im Anschluss an verschiedenen Stellen installieren.

Jenkins (früher Hudson) ist eine solche Plattform, die Entwicklern die nahtlose Integration ihres neuen Codes ermöglicht. Insbesondere, weil Jenkins so hervorragend mit anderen populären Entwicklungswerkzeugen wie Ant, Maven, Subversion und JUnit zusammenarbeitet, ist es für viele professionelle Softwareentwickler das CI-Tool der Wahl. Jenkins – kurz & gut gibt dieser Zielgruppe alle nötigen Informationen kompakt und strukturiert an die Hand, um dieses Werkzeug effektiv im Arbeitsalltag einsetzen zu können.

Table of Contents

  1. Jenkins: kurz & gut
  2. Vorwort
    1. An wen richtet sich dieses Buch?
    2. Vorkenntnisse
    3. Themen in diesem Buch
    4. Weiterführende Informationen
    5. Typographische Konventionen
    6. Danksagung
  3. 1. Einleitung
    1. Was ist Continuous Integration?
    2. Was ist Jenkins?
    3. Die Geschichte
    4. Hudson oder Jenkins – wie soll ich mich entscheiden?
    5. Die Community
    6. Zusammenfassung
  4. 2. Einrichtung
    1. Installation
      1. Linux
      2. Windows
      3. Mac OS X
    2. Das Jenkins-Verzeichnis
    3. Basis-Konfiguration
      1. Benutzerverwaltung
      2. Standard-Port festlegen
      3. Apache-Anbindung
    4. E-Mail-Einrichtung via SMTP
    5. Proxy-Server konfigurieren
    6. Abschluss
  5. 3. Projektarten
    1. »Free Style«-Softwareprojekt bauen
    2. Maven 2/3-Projekt
    3. Externen Job überwachen
    4. Multikonfigurationsprojekt bauen
    5. Kopiere bestehenden Job
      1. Job-Templates verwenden
    6. Abschluss
  6. 4. Das erste Projekt
    1. Jobkonfiguration
      1. Allgemeine Parameter
      2. Erweiterte Projekteinstellungen
      3. Source-Code-Management (SCM)
      4. Build-Auslöser
      5. Buildverfahren
      6. Post-Build-Aktionen
    2. Abschluss
  7. 5. Der erste Build
    1. Bedeutung im Softwareumfeld
    2. Build starten
    3. Build-Abschluss prüfen
    4. Build auswerten
    5. Metriken generieren und publizieren
      1. Metriken erstellen
      2. Publizieren via HTML Publisher und Plots
      3. HTML Publisher
      4. Plot-Plugin
    6. Erfolgreichen Build markieren
    7. Abschluss
  8. 6. Komplexe Builds mit Apache Ant
    1. Voraussetzungen
    2. Installation
      1. Linux
      2. Mac OS X
      3. Windows
    3. Befehlsübersicht
      1. Erstes Target
    4. Dateien komprimieren
    5. Der Exec-Task
      1. Verwendung
      2. Anwendungsbeispiele
    6. Umgebungsvariablen
    7. Abhängigkeiten zwischen den einzelnen Targets
    8. Phing
    9. Abschluss
  9. 7. Benachrichtigungen
    1. E-Mail (Standard)
    2. RSS
    3. Instant Messaging
    4. Short Messaging Service (SMS)
    5. Mobile Benachrichtigung
    6. Desktop
      1. Eclipse
      2. Java Tray Application
      3. Weitere Desktop-Optionen
    7. Sonstige
      1. HTTP/TCP/UDP
      2. Geräte und Lampen
      3. Twitter
    8. Abschluss
  10. 8. Automatisiertes Deployment
    1. Anwendung auf Jenkins-Seite
    2. Verwendung von Deployment-Werkzeugen
    3. Alte Schule
      1. SCP
      2. rsync
      3. PEAR, CPAN, PyPi, RubyGems und weitere
    4. New Kids on the Block
      1. Git
      2. Capistrano
    5. Abschluss
  11. 9. Multikonfigurationsprojekte
    1. Einrichtung
      1. Konfiguration sequentiell ausführen
      2. Kombinationsfilter
      3. Touchdown-Builds zuerst ausführen
      4. Nutzerdefinierte Achsen
    2. Multikonfigurationsprojekt bauen
    3. Auf Werte innerhalb des Builds zugreifen
    4. Abschluss
  12. 10. Plugins
    1. Plugins installieren
      1. Weboberfläche
      2. Kommandozeile
    2. Plugins aktuell halten
      1. Wiederherstellen von Versionen
    3. Entfernen von Plugins
      1. Gesperrte Pakete
    4. Erweiterte Einstellungen
    5. Interessante Plugins
      1. Green Balls
      2. Git Plugin
      3. Task Scanner-Plugin
      4. Claim-Plugin
      5. Jabber-Plugin
      6. Microsoft Active Directory-Plugin
      7. OpenID-Plugin
      8. Template Project-Plugin
      9. Sonstige
    6. Eigene Plugins schreiben
    7. Abschluss
  13. 11. Verteilte Build-Vorgänge
    1. Was sind verteilte Builds?
    2. Einrichtung
      1. Windows-Slave über JNLP anbinden
      2. Slave als Windows-Service starten
      3. Unix-zu-Unix-Verbindung konfigurieren
    3. Knoten deaktivieren
      1. Amazon EC2-Serverinstanz starten
      2. Verbindung zwischen Jenkins und EC2-Instanz
      3. Dynamisch Serverinstanzen erstellen lassen
    4. Knoten Projekte zuweisen
    5. Knoten verwalten und analysieren
      1. Weiterführende Einstellungen
    6. Abschluss
  14. 12. Administration und Wartung
    1. Aktualisierungen installieren
      1. Alte Versionen wiederherstellen
      2. Anzeigefilter
      3. Systeminformationen
    2. Jenkins-Backup
      1. Backup-Plugin
    3. Jenkins absichern
      1. An Servlet-Container delegieren
      2. Das interne Benutzerverzeichnis
      3. LDAP-Anbindung
      4. Unix-Benutzer und -Gruppen
      5. Weitere Methoden
    4. Rechtevergabe
      1. Matrix-Zugriffssteuerung
      2. Kein Zugriff auf den eigenen Server
    5. Logdateien
      1. Logs auslesen und analysieren
      2. Log-Rekorder hinzufügen
    6. Nutzungsstatistiken
    7. Das Kommandozeilen-Interface
    8. Speicherprobleme
    9. Remote-API
    10. Groovy-Konsole
    11. Abschluss
  15. Stichwortverzeichnis