Hudson CI / Jenkins CI

Post on 09-Feb-2016

62 views 0 download

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

Hudson CI / Jenkins CI

Continuous Integration Server

Stefan Scheumann 2

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

Über mich

22.03.2011

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

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

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

Stefan Scheumann 6

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

Vorteile

22.03.2011

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

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

Stefan Scheumann 9

Grundeigenschaften◦ Maven◦ Ant◦ Matrix Build

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

Projekt Eigenschaften

22.03.2011

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

Stefan Scheumann 11

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

Vorteile

22.03.2011

Stefan Scheumann 12

Automatisiertes Build Skript benötigt Hoher Speicherplatzverbrauch Lange Buildzeiten

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

Nachteile

22.03.2011

Stefan Scheumann 13

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

Hudson vs. Jenkins

22.03.2011

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

Stefan Scheumann 15

Für weitere Fragen◦ Stefan Scheumann◦ Email: sistsche@stud.hs-zigr.de

Oder direkt im Anschluss

Danke für Ihre Aufmerksamkeit …

22.03.2011