Continuous Delivery Using Jenkins

7,325 views

Published on

Delivered at Open Source Developers' Conference 2011.
http://2011.osdc.com.au:80/schedule/#continuousdeliver

Published in: Technology
  • Be the first to comment

Continuous Delivery Using Jenkins

  1. 1. Continuous DeliveryUsing Jenkins> Cliffano Subagio (@cliffano) - Sensis
  2. 2. /me• Jenkins user since 2007, contributor since 2008• BuildMonitor - Firefox Add-on for Jenkins• Nestor - Jenkins CLI written in Node.js• + several other plugins (any ChuckNorris plugin user here?)
  3. 3. • A Continuous Integration Server• Written in Java Used by projects based on various technology• Created by Kohsuke Kawaguchi in 2004
  4. 4. Features• Easy install, easy upgrade• Easy configuration• Distributed builds• HTTP API• Plugin support w/ update center 400+ Plugins• Great dev & user communities 100+ Code contributors• lots more...
  5. 5. Yay! Demo :-)
  6. 6. Continuous Integration Compile Package Deploy TestMetrics
  7. 7. Source Artifact Control RepositoryDev1 DevelopmentDev2 Jenkins TestDev3 Staging OPS Production
  8. 8. “How long does it take todeploy a change that involves a single line of code to production?” - Mary and Tom Poppendieck (Lean Software Development)
  9. 9. Continuous DeliveryAre We There Yet?
  10. 10. Goals• Production focus since day one - Develop on production-like environment - Performance test early on• Minimise cycle time from idea to delivery
  11. 11. Shorter Release Cycle Why 3 months? Why not 3 hours?
  12. 12. Frequent Releases Rapid Feedback
  13. 13. 400 Changes VS 4 Changes
  14. 14. code.flickr.com80 deploys per week 6.9 changes per deploy
  15. 15. Wait, there’s more
  16. 16. A Release Should Be Simple 1. Select Version 2. Select Environment 3. Push A Button
  17. 17. So Anyone Can Deploy Testers OPS Developers New Team Member
  18. 18. • No environment-specific build• Consistent deployment process used to deliver build to all environments
  19. 19. Deployment PipelineCommit Acceptance Manual Performance Release Stage Test Test Test Stage
  20. 20. Yay! Another Demo :-)
  21. 21. Is Continuous Delivery for everyone?
  22. 22. Conclusion Continuous Delivery + Jenkins MAKE IT SO
  23. 23. Hypno-Cat Sez Use You Need JenkinsAutomation
  24. 24. Questions?
  25. 25. Resources• http://continuousdelivery.com/• http://jenkins-ci.org• http://github.com/jenkinsci• https://wiki.jenkins-ci.org/display/JENKINS/ Plugins• http://code.flickr.com
  26. 26. Credits• Continuous Delivery by Jez Humble et al http://www.fishpond.com.au/Books/Continuous-Delivery- Matthew-Humble-David-Farley/9780321601919• http://www.flickr.com/photos/soundfromwayout/143822346/• http://www.dailytravelphotos.com/images/ 2010/101105_cairo_egypt_bread_delivery_bicycle_bike_head_tray_travel_photography_MG_4262.jp g• http://www.flickr.com/photos/articnomad/27778585/• http://byronalexmarshall.blogspot.com/2010/06/dissecting-details.html• http://www.getprice.com.au/images/uploadimg/923/_1_skydiving-10000ft-tandem-jump-adelaide- cbd_large.jpg• http://www.flickr.com/photos/gqphoto/5130471935/• http://chubbyriceball.files.wordpress.com/2011/01/tbbt-justice-league-recombination.jpg• http://enumag-theeducationalmagazide.blogspot.com• http://www.thewatcherfiles.com/images/TheyLivePicard.jpg• http://www.flickr.com/photos/merlijnhoek/2841785343/

×