Continuous Integration mit Hudson

Kursziele

Hudson ist ein Web-basiertes, gut erweiterbares Continuous Integration (CI) System. An die Spitze im Bereich Release-Erstellung, Test und Überwachung setzt sich das Java-basierte Hudson aufgrund einfacher Installation in jedem Servlet-Container, minimalem Konfigurationsaufwand und einer großen Anzahl verfügbarer Plugins. Als derzeit wohl beliebtestes CI-Tool auf dem Markt erhielt das frei verfügbare und quelloffene Hudson 2008 den Duke's Choice Award in der Kategorie Developer Solutions. Teilnehmer der Schulung lernen die Vorteile zu nutzen und Hudson für eine automatische und überwachte Release-Erstellung einzurichten. Praktische Beispiele zeigen, wie ein kompletter Build mit Hudson konfiguriert wird: Checkout der Quellen aus der Quellcodeverwaltung, das Build über Ant oder Maven anstoßen, Build-Meldungen über RSS-Feeds oder E-Mails verteilen und mit statischen Analysetools die Qualität der Quellen dokumentieren.

Zielgruppe

Systemarchitekten, Software-Entwickler, Projektmanager

Empfohlene Dauer

1 Tag, insgesamt 6 Zeitstunden

Inhalte

  • Einführung in die Continuous Integration mit Hudson
    - Grundlagen vom Continuous Integration (CI)
    - Phasen der Release-Erstellung
    - Ursprung von Hudson, Verbreitung, Hudson am Beispiel von JBoss
    - Bezug und Installation von Hudson, HUDSON_HOME
    - Hudson über die Kommandozeile starten, Hudson mehr Speicher geben
  • Erste Projekte mit Hudson bauen
    - Neue Projekte in Hudson definieren
    - Umgebungsvariablen von Hudson
    - Builds über Shell- und Ant-Skripte
    - Ausführungen beobachten, Monitoring von Cron-Jobs
  • Hudson-Plugins
    - Anbinden von Quellcodeverwaltungsystemen: Subversion, CVS, ...
    - Anstoßen eines Builds
    - Build ausführen über Shell-Skripte, Ant, Maven, ...
    - Build in virtuellen Maschinen wie VMware oder Xvnc-Sessions
    - Benachrichtigungssysteme: E-Mail, Chat-Systeme
    - Reports: JavaDoc, JUnit, Checkstyle, PMD, FindBugs
    - Bauen von Nicht-Java-Projekten
    - Weitere Plugins
  • Fortgeschrittene Hudson-Techniken
    - IDE-Integration: Eclipse, NetBeans, ...
    - Verteilte und parallele/abhängige Builds, Aufbau einer Master/Slave-Infrastruktur
    - Zugriff auf Hudson absichern
    - Remote API über REST und JSPON, XML-Konfiguration
    - Hudson als Service
    - Hudson in the Clouds

Voraussetzungen

Guter Überblick über Java-Werkzeuge

Software

Standardmäßig wird im Kurs die letzte Version von Hudson 1.x eingesetzt.

[Addthis] [Google Bookmarks] [Yahoo! Bookmarks] [Delicius] [Mister Wong]

[Nach oben]