• Save
Continous Delivery Toronto Presentation

Like this? Share it with your network

Share

Continous Delivery Toronto Presentation

  • 858 views
Uploaded on

Best Practices for Continuous Delivery

Best Practices for Continuous Delivery

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
858
On Slideshare
857
From Embeds
1
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
5

Embeds 1

https://twitter.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Advanced  Con+nuous  Deployment  with  Jenkins  Andrew  Phillips,  XebiaLabs  
  • 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. 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. 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. 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. 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. 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. 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. Enter Continuous Delivery
  • 10. Enter Continuous Delivery
  • 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. 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. Enter Continuous Delivery
  • 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. 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. Sample Delivery Pipeline
  • 17. Sample Delivery Pipeline
  • 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. 5 Steps Towards Continuous Delivery1.  Define extent and branches of pipeline o  Doesn’t have to be Prod straight away!
  • 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. 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. 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. 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. 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. And now…enjoy!