• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)
 

Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)

on

  • 5,212 views

Introduction to the OpenSource-CI-System Hudson (in German). Presented on 27.01.2010 at the Java User Group Mannheim (majug²).

Introduction to the OpenSource-CI-System Hudson (in German). Presented on 27.01.2010 at the Java User Group Mannheim (majug²).

Statistics

Views

Total Views
5,212
Views on SlideShare
5,159
Embed Views
53

Actions

Likes
0
Downloads
72
Comments
0

2 Embeds 53

http://www.simonwiest.de 32
http://www.slideshare.net 21

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010) Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010) Presentation Transcript

    • Continuous Integration mit Hudson (Noch) fauler werden in 10 Schritten Dr. Simon Wiest www.simonwiest.de majug² Java User Group Mannheim 27.01.2010, Mannheim
    • Gestatten, Hudson.
    • Agenda 10 Schritte Überblick
    • Über den Referenten: Dr. Simon Wiest Privat: Hudson-Committer Beruflich: Hudson-Anwender Lokalisierung DE Projektleiter Internationalisierung Java Architekt Plug-In Entwickler Coach Support & Evangelisierung IT-Freiberufler
    • Was ist kontinuierliche Integration (CI)?
    • Was ist kontinuierliche Integration (CI)? orchestriert durch CI-System
    • Was ist kontinuierliche Integration (CI)? CI-System Reports Reporting Check-Out Build- Developer Repository Artefacts QA Archive System Check-In Subversion Ant JUnit CVS Maven TestNG Perforce Shell-Skript CheckStyle Git Batch-Datei PMD … … …
    • Hudson auf einen Blick Java-basierte Web-Anwendung Initiiert 2006/2007 von Kohsuke Kawaguchi (Sun) Teil des Projekts Glassfish Open Source (MIT Lizenz) 1,24 Mio. LOC (mit Plugins) Zur Zeit 200+ Plug-Ins 180+ Beitragende
    • Wer verwendet Hudson (und darf es zugeben)? Quelle: Kohsuke Kawaguchi, wiki.hudson-ci.org//x/EYQ5Ag
    • Hudson: Ein Projekt in voller Fahrt.
    • Agenda 10 Schritte Überblick
    • 1. Installation: Denkbar einfach. Download als WAR-Datei Ca. 26 MB WebSphere Tomcat Jetty Winstone (Eingebettet)
    • 2. Konfiguration: Komfortabel und übersichtlich. Web-Interface XML-Konfigurationsdateien Wann immer möglich, werden Konventionen oder sinnvolle Vorgabewerte verwendet.
    • 3. Build-Systeme: Java – und darüber hinaus! Primär-Artefakt Dokumentation Eingebaut Über Plug-Ins Testergebnisse Ant Gant, Groovy Maven MSBuild, Nant Shell Skript Rake, Ruby Windows Batch und viele mehr!
    • 4. Berichten: Grenzenlos durch Plugins. Eingebaut JUnit TestNG Über Plug-Ins CheckStyle PMD FindBugs Simian u.v.m.
    • 5. Source Code Repositories: Mehr als nur „Auschecken“. Repository Hudson Browser Repository
    • 6. Benachrichtigungen: Viele Kanäle stehen offen. E-Mail RSS-Feeds Instant Messenger Twitter Plugins für IDEs & Browser Desktop-Gadgets
    • 7. Remote API: Hudson lässt sich einfach automatisieren. HTML, HTML XML, JSON HTML, CLI Hudson Status anzeigen Jobs importieren Photos (von links): Simon Wiest, Daniel Lindner, violet.net, Hartmut Lang
    • 8. Abhängigkeiten zwischen Jobs: Intelligentes Bauen. APP Abhängigkeiten zwischen GUI DB Komponenten CORE Test 1 Compile Check Abhängigkeiten Pack zwischen Test 2 Build-Schritten Docs
    • 9. Matrix-Builds: Hudson übernimmt die Fleißarbeit. Achse „Betriebssystem“ Windows Linux JDK 1.5 Achse „JDK“ JDK 1.6
    • 10.Verteilte Builds: Skalierbare Leistung mit OS-Vielfalt. Cloud Master Mac OS X Linux Windows virtualisiert lokale Builds verteilte Builds
    • Zusammenfassung: Alle 10 Schritte auf einen Blick Installation Kommunikation Konfiguration Remote-API/CLI Build-Support Abhängige Jobs Berichte Matrix-Builds SCM-Integration Verteilte Builds
    • Haben wir da nicht etwas vergessen? Bisher hauptsächlich core-Features gezeigt!
    • Über 200 Plugins erweitern den Core! Update-Center für Core einfache Installation und Aktualisierung 1–2 neue Plugins pro Woche(!) Plugins Maven-Tools für Plugin-Entwicklung Gute Unterstützung durch Developer- Mailingliste
    • Über 200 Plugins erweitern den Core! Accurev Core Bazaar BitKeeper ClearCase CMVC CVS File System SCM Git Harvest Mercurial Perforce PVCS Subversion Synergy Team Foundation Server Source Code Template Project Management URL Visual SourceSafe
    • Über 200 Plugins erweitern den Core! Ant Core Batch File Buckminster Gant Gradle Grails Groovy Kundo Maven MSBuild Nant PowerShell Rake Ruby SCons Build- Source Code SCTMExecutor Mechanismen Management Shell script Selenium AES Seleniumhq (und weitere)
    • Über 200 Plugins erweitern den Core! CCCC NCover Core Checkstyle NUnit Clover Plot Cobertura PMD Plugin CppUnit PureCoverage Crap4J Ruby metrics Doxygen Selenium AES DRY Seleniumhq Emma Serenitec FindBugs SLOCCount Gallio Task Scanner Gnat Testability Grinder Explorer Berichte Japex Violations Javadoc Warnings Build- Source Code JavaNCSS+ WebTest Mechanismen Management JavaTest Rprt. Presenter JUnit MSTest
    • Über 200 Plugins erweitern den Core! Campfire Core Email Google Calendar hudsonTracker IRC Jabber Nabaztag SameTime Status Monitor RSS TuxDroid Twitter Benachrichtigungen Berichte Build- Source Code Mechanismen Management
    • Über 200 Plugins erweitern den Core! FTP Publisher Core java.net Uploader SCP SFEE SVN Verteilung von Artefakten Benachrichtigungen Berichte Build- Source Code Mechanismen Management
    • Über 200 Plugins erweitern den Core! Active Directory Mantis Core Android App PXE Audit Trail Polarion Backlog Redmine Bugzilla RegEx Email Cluster mgmt. SFEE Crowd Selenium Firefox Add-on Sonar Github Swarm Integration mit Google Calend. Trac Drittsystemen Verteilung von Google Code Windows Tray Artefakten Google Desktop HGCA Benachrichtigungen Berichte Hadoop iPhone App Build- Source Code JIRA Mechanismen Management Java.net Kagemai LDAP Email
    • Über 200 Plugins erweitern den Core! Hudson Central. Job(Re)Action Core Hudson Distr. Workspace Clean Locks and Latches M2 Extra Steps M2 Release Release Template Project „Build Wrapper“ VMware Xvnc Integration mit ZenTimestamp Drittsystemen Verteilung von Artefakten Benachrichtigungen Berichte Build- Source Code Mechanismen Management
    • Über 200 Plugins erweitern den Core! Build-timeout Core Change Log History Claim Configuration Slicing Nützliches Cygpath & Schräges Emotional Hudson Google Analytics „Build Wrapper“ Green Balls JBPM Integration mit Locale Drittsystemen Verteilung von Port Allocator Artefakten Promoted Builds Radiator View Benachrichtigungen Berichte Retry Failed Builds Sectioned View Build- Source Code Sidebar-Link Mechanismen Management Slave-status Continuous Integration Game
    • Plugin „Continuous Integration Game“
    • Agenda 10 Schritte Überblick
    • HERUNTERLADEN
    • EINSETZEN
    • WEITERSAGEN
    • MITMACHEN
    • hudson-ci.org Beratung Buch Vortrag Dr. Wiest – Ingenieurbüro für Softwaretechnik Wiesfleckenstrasse 13 72810 Gomaringen www.simonwiest.de
    • Empfohlene Nachlese Hudson Projektseite. hudson.dev.java.net JBoss Hudson CI Server. hudson.jboss.org/hudson Interview mit Hudson-Initiator Kohsuke Kawaguchi blogs.sun.com/glassfishpodcast (Episode #007) Continuous Integration White Paper von Martin Fowler. www.martinfowler.com CI Feature Matrix. confluence.public.thoughtworks.org P.M. Duvall: Continuous Integration. 2007. Projektautomatisierung (allgemein) J. F. Smart: Java Power Tools. 2008. M. Hüttermann: Agile Java-Entwicklung in der Praxis. 2007.
    • Wie funktionieren die Bären? Mehr dazu im Hudson Wiki wiki.hudson-ci.org//x/AQA1AQ Hudson Bären HTTP/XML CGI Netz Monitor-Skript 230 V Steckdosenleiste
    • Wie funktionieren die Bären? Ingenieurbüro Dr. Wiest, Gomaringen Netzgiganten GmbH, last.fm, Stuttgart London/UK
    • Bonus-Folie: Hardware aufrüsten lohnt. CPU Hauptspeicher Festplatte Netzwerk Quelle: „Schneide Blog“ der Softwareschneiderei GmbH, http://schneide.wordpress.com
    • The Joel (Spolsky) Test 1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do programmers have quiet working conditions? 9. Do you use the best tools money can buy? 10. Do you have testers? 11. Do new candidates write code during their interview? 12. Do you do hallway usability testing? www.joelonsoftware.com, Aug. 2000
    • www.rockstardemos.de