2. Executive summary
• Continuousintegrationsystemsareavitalpartofany
Agile teambecausetheyhelpenforcetheidealsof
Agile development
• Jenkins, acontinuousbuildtool, enablesteamsto
focuson theirworkbyautomatingthebuild, artifact
management, and deploymentprocesses
• Jenkins’corefunctionalityandflexibility allowitto
fit ina varietyofenvironmentsandcanhelpstreamline
the development process forallstakeholders involved
3. Agenda
ContinuousIntegration (CI)
Whatis it?
What arethebenefits?
ContinuousBuild Systems
Jenkins
Whatis it?
Wheredoes itfit in?
Why should Iuseit?
What can itdo?
How does itwork?
Whereis it used?
How can Igetstarted?
Puttingitall together
Conclusion
References
5. CI – What does it really mean?
Ataregularfrequency(ideallyateverycommit),thesystem
is:
Integrated
Allchanges upuntilthat point arecombined intotheproject
Built
Thecodeis compiledintoanexecutableor package
Tested
Automated testsuites arerun
Archived
Versioned andstored so itcan be distributedasis, ifdesired
Deployed
Loaded ontoasystem where the developers caninteractwithit
7. CI – Benefits
• Immediate bugdetection
• No integration step in thelifecycle
• A deployable system at any givenpoint
• Recordofevolution ofthe project
8. CI – The tools
• Code Repositories
• SVN, Mercurial,Git
• ContinuousBuild Systems
• Jenkins,Bamboo,Cruise Control
• TestFrameworks
• JUnit,Cucumber,CppUnit
• Artifact Repositories
• Nexus,Artifactory,Archiva
9. Jenkins
Branched fromHudson
Java basedContinuousBuild System
Runs in servletcontainer
Glassfish,Tomcat
Supported byover 400plugins
SCM,Testing,Notifications,Reporting,
ArtifactSaving,Triggers,External
Integration
Underdevelopment since 2005
http://jenkins-ci.org/