Continuous Integration mit Hudson
Empfohlene Schulungsdauer: 1 Tag, insgesamt 8 Unterrichtsstunden à 45 Minuten
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, ProjektmanagerKursvoraussetzungen
Guter Überblick über Java-WerkzeugeSeminarinhalte
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
Eingesetze Seminar-Software
Standardmäßig wird im Kurs die letzte Version von Hudson 1.x eingesetzt.
Schlagwörter
Weiterführende Seminare
Enterprise Build Management mit Maven, Versionsverwaltung mit Subversion, Codeanalyse mit FindBugs, PMD, Checkstyle und JDepend, JUnit und weitere Test-Werkzeuge
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.png)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)