CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins (LeanIX GmbH)
Hudson CI / Jenkins CI
description
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: [email protected]
Oder direkt im Anschluss
Danke für Ihre Aufmerksamkeit …
22.03.2011