hudson ci
DESCRIPTION
Continuous Integration (CI) with HudsonTRANSCRIPT
Hudson CIBy Ravi Soni
HudsonOpen-source CI serverEmphasis on ease of installation and use
“java -jar hudson.war” executionOr your OS-specific packageConfigure everything from browsers
Extensibility230+ community-developed public pluginsBy 230+ contributors
Estimated 13,000 installations
Continuous Integration PrerequisitesTools needed
VCS server Build server Deployment Server Automation tools CI tools
Work Process Commit/Update often (each change) Run often Tests Run test often Common code ownership
Hudson in Company
Basic Feature SetHudson notices that there is a changeCheck out the source code
CVS, Subversion, ClearCase, Mercurial, Accurev, Perforce, Git, StarTeam, …
Do buildsAnt, Maven, shell script, NAnt, …
Record and publish resultsClose the feedback loop
RSS feedsE-mail/IM notificationTray application to notify developers
Tool integrationFindbugs, cobertura, …
Hudson CI in Working
Monitoring HudsonHudson
Continuous Integration ServerIntegrates building, unit tests, code
coverage,analysisProvides the ability to hook in almost any
output.Gives instant knowledge of status of builds.Provides dashboard like integration for
multiple projectsHudson instance:
http://localhost:8080/hudson
Hudson ComponentsCI Server
Monitors the SCMExecutes the build script
Management Console (plug-in area)Dashboard
Build report viewer
Hudson Add-onsMany build in Plugins (http://wiki.hudson-ci.org/display/HUDSON/Plugins)
Test Code Coverage Analysis Unit testing Doxygen Ant Google Calendar Dependency Management with IVY …
Useful Hudson Plugins Jboss management plugin Ruby plugin SSH plugin VMware plugin Android emulator plugin Zen Timestamp plugin Mask Passwords plugin Twitter plugin JUnit Attachment plugin Selenium AES plugin JSUnit plugin Log Parser plugin Performance plugin (Jmeter) HTML Publisher plugin JIRA plugin Hudson Personal View plugin Subversion Release Manager plugin M2 release plugin
SummaryContinually integrate and test to reduce
riskDetect problems earlyAlways have a deployable buildGenerate metrics to guide project
managementContinuous Integration is:
Vital for successful software development
Hudson Demo URLDemo Setup on InfoDesk India Server URL: http://localhost:8080/hudson
ThanksThanks
Ravi Soni