continuous integration mit hudson - java user group ... · java architekt projektleiter ci-coach...
TRANSCRIPT
![Page 1: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/1.jpg)
Continuous Integrationmit Hudson
Dr. Simon Wiestwww.simonwiest.de
Java User Group Switzerland26.04.2010, Technopark Zürich
![Page 2: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/2.jpg)
![Page 3: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/3.jpg)
![Page 4: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/4.jpg)
![Page 5: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/5.jpg)
![Page 6: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/6.jpg)
![Page 7: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/7.jpg)
![Page 8: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/8.jpg)
![Page 9: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/9.jpg)
Gestatten, Hudson.
![Page 10: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/10.jpg)
Agenda
Überblick
10 Schritte
![Page 11: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/11.jpg)
Über den Referenten: Dr. Simon Wiest
Privat: Hudson-Committer Beruflich: Hudson-Anwender
Lokalisierung DE
InternationalisierungPlug-In Entwickler
Support & Evangelisierung
Java Architekt
Projektleiter
CI-Coach
IT-Freiberufler
![Page 12: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/12.jpg)
Was ist kontinuierliche Integration (CI)?
![Page 13: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/13.jpg)
Was ist kontinuierliche Integration (CI)?orchestriert durch CI-System
![Page 14: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/14.jpg)
Was ist kontinuierliche Integration (CI)?
SubversionCVSPerforceGit…
AntMavenShell-SkriptBatch-Datei…
JUnitTestNGCheckStylePMD…
CI-System
Reporting
QARepositoryBuild-
SystemArchive
Check-Out
Check-In
Developer Artefacts
Reports
![Page 15: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/15.jpg)
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
![Page 16: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/16.jpg)
Wer verwendet Hudson (und darf es zugeben)?
Quelle: Kohsuke Kawaguchi, wiki.hudson-ci.org//x/EYQ5Ag
![Page 17: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/17.jpg)
Hudson: Ein Projekt in voller Fahrt.
![Page 18: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/18.jpg)
Agenda
Überblick
10 Schritte
![Page 19: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/19.jpg)
1. Installation: Denkbar einfach.
Winstone(Eingebettet)
JettyTomcatWebSphere
Download als WAR-Datei
Ca. 26 MB
![Page 20: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/20.jpg)
2. Konfiguration: Komfortabel und übersichtlich.
Wann immer möglich, werden Konventionen oder sinnvolle Vorgabewerte verwendet.
Web-Interface XML-Konfigurationsdateien
![Page 21: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/21.jpg)
3. Build-Systeme: Java – und darüber hinaus!
Primär-Artefakt
Dokumentation
TestergebnisseEingebautAntMavenShell SkriptWindows Batch
Über Plug-InsGant, GroovyMSBuild, NantRake, Rubyund viele mehr!
![Page 22: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/22.jpg)
4. Berichten: Grenzenlos durch Plugins.
Eingebaut
JUnit
TestNG
Über Plug-Ins
CheckStyle
PMD
FindBugs
Simian
u.v.m.
![Page 23: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/23.jpg)
5. Source Code Repositories: Mehr als nur „Auschecken“.
Repository
HudsonRepository
Browser
![Page 24: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/24.jpg)
6. Benachrichtigungen: Viele Kanäle stehen offen.
RSS-Feeds
Instant Messenger
Plugins für IDEs & Browser
Desktop-Gadgets
![Page 25: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/25.jpg)
7. Remote API: Hudson lässt sich einfach automatisieren.
Hudson
Jobs importierenStatus anzeigen
HTMLHTML,
XML, JSON
HTML, CLI
Photos (von links): Simon Wiest, Daniel Lindner, violet.net, Hartmut Lang
![Page 26: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/26.jpg)
8. Abhängigkeiten zwischen Jobs: Intelligentes Bauen.
Abhängigkeiten zwischen Komponenten
Abhängigkeiten zwischenBuild-Schritten
CORE GUI DB
APP
Compile Check
Test 2
Test 1
Docs
Pack
![Page 27: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/27.jpg)
9. Matrix-Builds: Hudson übernimmt die Fleißarbeit.
LinuxWindows
Achse „Betriebssystem“
JDK 1.5
JDK 1.6
Achse„JDK“
![Page 28: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/28.jpg)
Cloud
10.Verteilte Builds: Skalierbare Leistung mit OS-Vielfalt.
Master
lokale Builds verteilte Builds
virtualisiert
LinuxMac OS X Windows
![Page 29: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/29.jpg)
Zusammenfassung: Alle 10 Schritte auf einen Blick
Installation
Konfiguration
Build-Support
Berichte
SCM-Integration
Kommunikation
Remote-API/CLI
Abhängige Jobs
Matrix-Builds
Verteilte Builds
![Page 30: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/30.jpg)
Haben wir da nicht etwas vergessen?
Bisher hauptsächlichcore-Features gezeigt!
![Page 31: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/31.jpg)
Über 200 Plugins erweitern den Core!
Update-Center für einfache Installation und Aktualisierung
1–2 neue Plugins pro Woche(!)
Maven-Tools für Plugin-Entwicklung
Gute Unterstützung durch Developer-Mailingliste
Core
Plugins
![Page 32: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/32.jpg)
Über 180 Plugins erweitern den Core!
Core
Source Code Management
AccurevBazaarBitKeeperClearCaseCMVCCVS File System SCMGitHarvestMercurialPerforcePVCSSubversion SynergyTeam Foundation ServerTemplate ProjectURLVisual SourceSafe
![Page 33: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/33.jpg)
Über 180 Plugins erweitern den Core!
Core
Source Code Management
Build-Mechanismen
AntBatch FileBuckminsterGantGradleGrailsGroovyKundoMavenMSBuildNantPowerShellRakeRubySConsSCTMExecutorShell scriptSelenium AESSeleniumhq(und weitere)
![Page 34: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/34.jpg)
Über 180 Plugins erweitern den Core!
Core
Source Code Management
Berichte
Build-Mechanismen
CCCCCheckstyleCloverCoberturaCppUnitCrap4JDoxygenDRYEmmaFindBugsGallioGnatGrinderJapexJavadocJavaNCSS+JavaTest Rprt.JUnitMSTest
NCoverNUnitPlotPMD PluginPureCoverageRuby metricsSelenium AESSeleniumhqSerenitecSLOCCountTask ScannerTestability ExplorerViolationsWarningsWebTestPresenter
![Page 35: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/35.jpg)
Über 180 Plugins erweitern den Core!
Core
Source Code Management
Benachrichtigungen Berichte
Build-Mechanismen
CampfireEmailGoogle CalendarhudsonTrackerIRCJabberNabaztagSameTimeStatus MonitorRSSTuxDroidTwitter
![Page 36: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/36.jpg)
Über 180 Plugins erweitern den Core!
Core
Source Code Management
Verteilung vonArtefakten
Berichte
Build-Mechanismen
FTP Publisherjava.net UploaderSCPSFEESVN
Benachrichtigungen
![Page 37: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/37.jpg)
Über 180 Plugins erweitern den Core!
Core
Source Code Management
Integration mitDrittsystemen
Berichte
Build-Mechanismen
Benachrichtigungen
Verteilung vonArtefakten
Active DirectoryAndroid AppAudit TrailBacklogBugzillaCluster mgmt.CrowdFirefox Add-onGithubGoogle Calend.Google CodeGoogle DesktopHGCAHadoopiPhone AppJIRAJava.netKagemaiLDAP Email
MantisPXEPolarionRedmineRegEx EmailSFEESeleniumSonarSwarmTracWindows Tray
![Page 38: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/38.jpg)
Über 180 Plugins erweitern den Core!
Core
Source Code Management
„Build Wrapper“
Berichte
Build-Mechanismen
Hudson Central. Job(Re)Action Hudson Distr. Workspace CleanLocks and LatchesM2 Extra StepsM2 ReleaseReleaseTemplate ProjectVMwareXvncZenTimestamp
Benachrichtigungen
Integration mitDrittsystemen Verteilung von
Artefakten
![Page 39: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/39.jpg)
Über 180 Plugins erweitern den Core!
Core
Source Code Management
Berichte
Build-Mechanismen
Nützliches& Schräges
Build-timeoutChange Log HistoryClaimConfiguration SlicingCygpathEmotional HudsonGoogle AnalyticsGreen BallsJBPMLocalePort AllocatorPromoted BuildsRadiator ViewRetry Failed BuildsSectioned ViewSidebar-LinkSlave-statusContinuous Integration Game
Benachrichtigungen
Integration mitDrittsystemen Verteilung von
Artefakten
„Build Wrapper“
![Page 40: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/40.jpg)
Plugin „Continuous Integration Game“
![Page 41: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/41.jpg)
Agenda
Überblick
10 Schritte
![Page 42: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/42.jpg)
HERUNTERLADEN
![Page 43: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/43.jpg)
EINSETZEN
![Page 44: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/44.jpg)
WEITERSAGEN
![Page 45: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/45.jpg)
MITMACHEN
![Page 46: Continuous Integration mit Hudson - Java User Group ... · Java Architekt Projektleiter CI-Coach IT-Freiberufler. Was ist kontinuierliche Integration (CI)? ... Photos (von links):](https://reader031.vdocuments.us/reader031/viewer/2022031022/5b9f2f4709d3f2083f8cb3f2/html5/thumbnails/46.jpg)
Dr. Wiest – Ingenieurbüro für Softwaretechnikwww.simonwiest.de
Beratung
hudson-ci.org
BuchVortragKostenlose Vor-Ort
EinführungsvorträgeSprechen Sie mich an!
„CI mit Hudson“dpunkt.verlag Herbst 2010
Individuelle Beratung zu Buildmanagement, Werkzeug-Evaluation
Und wenn Sie Lust auf mehr haben…