Continous Delivery Toronto Presentation

799 views
720 views

Published on

Best Practices for Continuous Delivery

Published in: Technology

Continous Delivery Toronto Presentation

  1. 1. Advanced  Con+nuous  Deployment  with  Jenkins  Andrew  Phillips,  XebiaLabs  
  2. 2. A Bit About Me… Andrew Phillipso  VP Products for XebiaLabso  Lots of enterprise software development on high-performance systemso  Been on both sides of the “Dev…Ops” fenceo  Active open source contributor and committer: jclouds, Akka, Gradle and otherso  Cloud, PaaS & JVM language fan (mainly Scala, Clojure)o  Regular meetup, conference etc. presenter
  3. 3. About XebiaLabso  Headquartered in Boston, Massachusettso  Global development and support offices in NL, UK, France and India Our flagship product, Deployit, is a market-leading Application Release Automation platform. Benefits include: o  Reduce development applications costs o  Accelerate application time to market o  Bridge the gap between Development and Operations
  4. 4. Agendao  1min on Continuous Integrationo  Moving Beyond CI to Business Valueo  Continuous Delivery in a Nutshello  Enterprise Challenges to CDo  A Sample Delivery Pipelineo  5 Steps Towards Continuous Delivery
  5. 5. The 1min Continuous Integration Introo  Emerged at the end of the 90s as one of the XP practiceso  By continuously building and testing software quality should improveo  Tests often limited to unit tests (e.g. JUnit)o  Sometimes also functional tests (e.g. Selenium)
  6. 6. The 1min Continuous Integration Introo  Emerged at the end of the 90s as one of the XP practiceso  By continuously building and testing software quality should improveo  Tests often limited to unit tests (e.g. JUnit)o  Sometimes also functional tests (e.g. Selenium)
  7. 7. Beyond CIo  Deployment to the target platform often not part of the CI cycleo  Deployment procedures not tested!o  Application not tested on ultimate target platform!
  8. 8. Beyond CIo  Principle #1 of the Agile Manifesto: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”o  What is the business value of code sitting in your repository?
  9. 9. Enter Continuous Delivery
  10. 10. Enter Continuous Delivery
  11. 11. Enter Continuous Deliveryo  Strictest definition: Every (tagged) version goes to production o  LinkedIn, Etsy etc. etc.o  Less strict: Include deployment in the CI cycle to test the deployed artifacts on the target platform
  12. 12. Enter Continuous Deliveryo  Smoke tests o  Landing page o  Line of Lifeo  Functional tests on target platform (e.g. Selenium) o  Content of the landing page o  Typical runo  Performance tests (e.g. JMeter) o  Response time of the landing page o  Response time of the simple / complex path
  13. 13. Enter Continuous Delivery
  14. 14. Enterprise Challengeso  Organizing many jobso  Standardizing common job parameterso  Identifying job ownershipo  Securing job accesso  Automating job sequenceo  Setting up job gates/conditions
  15. 15. Enterprise Challengeso  Same pipeline setup across middleware and OS typeso  Same pipeline setup in private/hybrid cloud and PaaS environmentso  On-demand environment provisioningo  Release Management integrationo  End-to-end “paper trail”
  16. 16. Sample Delivery Pipeline
  17. 17. Sample Delivery Pipeline
  18. 18. Sample Delivery Pipeline: Recapo  Enterprise features: o  Folders o  Templates o  Access-controlo  Job gateso  Validated mergeo  “Smart” deployment automationo  Key ingredient: automated tests!
  19. 19. 5 Steps Towards Continuous Delivery1.  Define extent and branches of pipeline o  Doesn’t have to be Prod straight away!
  20. 20. 5 Steps Towards Continuous Delivery1.  Define extent and branches of pipeline o  Doesn’t have to be Prod straight away!2.  Define triggers and gates for your pipeline phases o  How many of these can you automate?
  21. 21. 5 Steps Towards Continuous Delivery1.  Define extent and branches of pipeline o  Doesn’t have to be Prod straight away!2.  Define triggers and gates for your pipeline phases o  How many of these can you automate?3.  Do only validated code/artifacts get passed down the pipeline? o  Watch out if new components are introduced later on
  22. 22. 5 Steps Towards Continuous Delivery4.  Who needs to know/be able to control what? o  Job settings and deployed configuration settings can be invisible
  23. 23. 5 Steps Towards Continuous Delivery4.  Who needs to know/be able to control what? o  Job settings and deployed configuration settings can be invisible5.  How much variation across projects/platforms do you need to handle?
  24. 24. Thank You!NEXT STEPSo  More information: http://www.xebialabs.como  Try the Jenkins Deployit plugin in your enviornmento  Come up and speak to Sean, Patrick or myself!Contact Detailso  Andrew Phillipso  VP Productso  aphillips@xebialabs.como  blog.xebialabs.com/author/aphillips
  25. 25. And now…enjoy!

×