hudson ci

13
Hudson CI By Ravi Soni

Upload: ravi-soni

Post on 21-May-2015

1.413 views

Category:

Technology


2 download

DESCRIPTION

Continuous Integration (CI) with Hudson

TRANSCRIPT

Page 1: Hudson ci

Hudson CIBy Ravi Soni

Page 2: Hudson ci

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

Page 3: Hudson ci

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

Page 4: Hudson ci

Hudson in Company

Page 5: Hudson ci

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, …

Page 6: Hudson ci

Hudson CI in Working

Page 7: Hudson ci

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

Page 8: Hudson ci

Hudson ComponentsCI Server

Monitors the SCMExecutes the build script

Management Console (plug-in area)Dashboard

Build report viewer

Page 9: Hudson ci

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 …

Page 10: Hudson ci

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

Page 11: Hudson ci

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

Page 12: Hudson ci

Hudson Demo URLDemo Setup on InfoDesk India Server URL: http://localhost:8080/hudson

Page 13: Hudson ci

ThanksThanks

Ravi Soni