Hudson CI / Jenkins CI

15
Hudson CI / Jenkins CI Continuous Integration Server

description

Hudson CI / Jenkins CI. Continuous Integration Server. Über mich. Stefan Scheumann Bachelor Informatik Hochschule Zittau / Görlitz 6. Semester Zur Zeit im Praktikum. Projekte bei Studenten. 2 Monate vor Abgabe Aufgabenaufteilung 2 Wochen vor Ende Zusammenführen der Einzelteile - PowerPoint PPT Presentation

Transcript of Hudson CI / Jenkins CI

Page 1: Hudson CI /  Jenkins CI

Hudson CI / Jenkins CI

Continuous Integration Server

Page 2: Hudson CI /  Jenkins CI

Stefan Scheumann 2

Stefan Scheumann Bachelor Informatik Hochschule Zittau / Görlitz 6. Semester Zur Zeit im Praktikum

Über mich

22.03.2011

Page 3: Hudson CI /  Jenkins CI

Stefan Scheumann 3

2 Monate vor Abgabe Aufgabenaufteilung 2 Wochen vor Ende Zusammenführen der

Einzelteile 2 Tage vor Schluss Fehler entdecken 2 Stunden vor Abgabe Lösung finden 2 Minuten vor Abgabe fertig werden 2 Tage nach Abgabe entdecken, dass doch

nicht alle Fehler beseitig wurden

Projekte bei Studenten

22.03.2011

Page 4: Hudson CI /  Jenkins CI

Stefan Scheumann 4

Alle Projektmitglieder arbeiten dauerhaft zusammen

Kleine Programmteile In regelmäßigen Abständen

zusammenführen des Codes Testen des Codes Ein funktionierendes Projekt abgeben

ÞContinuous Integration

Lösung

22.03.2011

Page 5: Hudson CI /  Jenkins CI

Stefan Scheumann 5

Java-basierter CI-Server Initiiert 2006/2007 von Kohsuke Kawaguchi Open Source (MIT-Lizenz) Ca. 17.000 Installationen 1,5 Mio. LOC 200+ Plugins 150+ Beitragende

Hudson CI

22.03.2011

Page 6: Hudson CI /  Jenkins CI

Stefan Scheumann 6

Gemeinsame Codebasis Automatisierter Build Selbsttestender Build Häufige Integration Schnelles und umfassendes Feedback Automatisierte Berichte Automatische Verteilung

Vorteile

22.03.2011

Page 7: Hudson CI /  Jenkins CI

Stefan Scheumann 7

Programmiersprache◦ Aber benutzt verschiedene Compiler

Build Werkzeug◦ Aber benutzt Maven und Ant

Versionskontrollsystem◦ Aber kann mit SVN, GIT und anderen umgehen

Code Analyse Tool◦ Aber benutzt diese und veröffentlicht die

Ergebnisse Kein Repository

◦ Aber kann Artefakte ausbringen

Was ist Hudson nicht

22.03.2011

Page 8: Hudson CI /  Jenkins CI

Stefan Scheumann 8

Herunterladen Entpacken Deployen (oder stand-alone Server starten) Java und Build Tool angeben Neues Projekt anlegen (Maven, Ant oder

Sonderform) Code Repository angeben Loslegen

Hudson aufsetzen

22.03.2011

Page 9: Hudson CI /  Jenkins CI

Stefan Scheumann 9

Grundeigenschaften◦ Maven◦ Ant◦ Matrix Build

Repository Build-Auslöser Report Generierung Veröffentlichen / weitere Build Prozesse

Projekt Eigenschaften

22.03.2011

Page 10: Hudson CI /  Jenkins CI

Stefan Scheumann 10

Mehr als 200 Plug-Ins vorhanden Unterteilung

◦ Benachrichtigung◦ Oberfläche◦ Benutzerverwaltung / Authentifizierung◦ Build-Auslöser◦ Post Build / Build Berichte / Veröffentlichen ◦ Build Werkzeuge◦ Cluster Management / Slave Knoten◦ Externe Werkzeuge◦ Maven Tools

Hudson Plug-Ins

22.03.2011

Page 11: Hudson CI /  Jenkins CI

Stefan Scheumann 11

Dauerhaftes Rot-Grün-Schema Wetterbericht Dokumentation Test + Testabdeckung Code Analyse Veröffentlichen von Artefakten Verlaufsanzeige FUN

Vorteile

22.03.2011

Page 12: Hudson CI /  Jenkins CI

Stefan Scheumann 12

Automatisiertes Build Skript benötigt Hoher Speicherplatzverbrauch Lange Buildzeiten

=> Lösung: Kleine Projekte mit Abhängigkeiten

Nachteile

22.03.2011

Page 13: Hudson CI /  Jenkins CI

Stefan Scheumann 13

Trennung in Oracle und Open Source Hudson weiterhin unter Oracle Jenkins unter Open Source Community

Hudson vs. Jenkins

22.03.2011

Page 14: Hudson CI /  Jenkins CI

Stefan Scheumann 14

http://hudson-ci.org/ http://jenkins-ci.org/ http://de.wikipedia.org/wiki/Jenkins_%28Soft

ware%29 Autor Simon West: Continuous Integration

mit Hudson, dpunkt.verlag, 2011 Gunther Popp: Konfigurationsmanagement

mit Subversion, Ant und Maven, dpunkt, dpunkt.verlag, 2007

Quellen

22.03.2011

Page 15: Hudson CI /  Jenkins CI

Stefan Scheumann 15

Für weitere Fragen◦ Stefan Scheumann◦ Email: [email protected]

Oder direkt im Anschluss

Danke für Ihre Aufmerksamkeit …

22.03.2011