Jenkins

Continuous Integration

Mit der Verkürzung der Releasezyklen erlangt Continuous Integration immer größere Bedeutung. Das bedeutet aber, dass das Bauen der Releases bzw. der Software automatisiert werden muss. Genau hier kommt Jenkins/Hudson ins Spiel. Jenkins/Hudson kann Software an Hand eines vordefinierten Zeitplans oder nach jeder Änderung im Versionskontrollsystem automatisiert bauen, testen und paketieren.

Ist dieser Prozess einmal strukturiert, ermöglicht Jenkins/Hudson auch Auswertungen und ausführliche Langzeitbeobachtungen. Weiterhin gibt es für Jenkins/Hudson eine Vielzahl von Plugins die die unterschiedlichsten Bedürfnisse abdecken.

Wenn es terminlich möglich ist bieten wir diese Schulung in der selben Woche wie unsere Schulungen zu Git, Subversion und Maven an, da diese Themen sich gut ergänzen.

Trainer und Dozenten

Karl Heinz Marbaise ist seit ca. 25 Jahren im Bereich der Softwareentwicklung tätig. Seit ca. 20 Jahren beschäftigt er sich mit Versionskontrollsystemen wie mit RCS, CVS, ClearCase und später mit Subversion und Git. Er führt seit Jahren Beratungen und Trainings im Bereich Software Konfigurationsmanagement (Subversion, Branching Strategien, Migrationsberatung), Build Management (Ant, Maven, Hudson/Jenkins) und Entwicklungsprozesse durch. Weiterhin hält er auf verschiedensten Konferenzen (z.B. Subersion Konferenz, GearConf) zu entsprechenden Themengebieten Vorträge.

Voraussetzungen

Solide Programmierkenntnisse und Erfahrungen im Bereich der Versionskontrolle sind Vorraussetzung. Eventuell Maven Kenntnisse.

Inhalt

Ziel ist es, eine Übersicht über die Funktionsweise von Hudson/Jenkins zu bekommen. Dazu wird auf unterschiedliche Fragestellung eingegangen:

  • Wie kann man einen Job konfigurieren und was kann man konfigurieren?
  • Wie kann man die Ausführungszeit bestimmen?
  • Wie kann man Abhängigkeiten zwischen Jobs definieren?
  • Welche Arten von Jobs gibt es?
  • Wie kann man Parameter an Jobs übergeben?
  • Wie kann man eine größere Menge von Build Servern installieren und auf dem aktuellen Stand halten?

Weiterhin werden unterschiedlche Plugins für Hudson/Jenkins vorgestellt wie zum Beispiel

  • Cobertura,
  • HTML Publisher,
  • PerfPublish,
  • Subversion Plugin.

Im Rahmen des Jenkins Workshops liegt ein gewisser Fokus auf der Verwendung von Maven im Zusammenhang mit Jenkins. Selbstverständlich werden aber auch andere Bereiche beleuchtet.