import*; - Jevgeni Kabanov


Published on

When you send a package through FedEx it goes through a tracked, automated process that makes sure that the package arrives promptly at the destination. The same should apply to every commit that you check into the trunk. Continuous delivery describes how this process can be made fully automated and transparent and we will show you how your commits can be “fedexed” to production on application servers like JBoss, Tomcat, Weblogic and others with the help from Jenkins and LiveRebel. The main idea of continuous delivery is the deployment pipeline. Every commit that enters the pipeline should go through automated integration and testing and if successful, produce a release candidate. We will show how Jenkins can be used to orchestrate the process all the way to the staging environment. Once we're there, the most complicated phase begins. The release candidate needs to be deployed to production, without disrupting the users or introducing risks. LiveRebel makes production updates quick, automated, non-disruptive and reversible. It finishes the job and delivers the updated version right into the users hands. In this talk we will build a full clustered environment and a deployment pipeline so that commits into the trunk would update a live chat server while you keep on chatting.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

import*; - Jevgeni Kabanov

  1. 1. import* Jevgeni Kabanov @ekabanov CEO, ZeroTurnaround
  2. 2. Subtitle
  3. 3. Fedex process
  4. 4. Fedex process • Package
  5. 5. Fedex process • Package •Dropoff
  6. 6. Fedex process • Package •Dropoff •Transfer
  7. 7. Fedex process • Package •Dropoff •Transfer •Delivery
  8. 8. Fedex process • Package •Dropoff •Transfer •Delivery •Profit!
  9. 9. Java EE
  10. 10. Java EE•Package
  11. 11. Java EE•Package•Test
  12. 12. Java EE•Package•Test•Approve
  13. 13. Java EE•Package•Test•Approve•Deploy
  14. 14. Java EE•Package•Test•Approve•Deploy•Profit!
  15. 15. Questions?•How do you package the application?•Where did it come from?•Where does it go?•How does it get deployed?•What exactly is in prod now?
  16. 16. Fedex FAIL
  17. 17. Software FAIL
  18. 18. How do we fix this?
  19. 19. Key Problems•Failure•Downtime
  20. 20. Solution:Continuous Delivery
  21. 21. Philosophy•Automate•Record•Test•Recover
  22. 22. The Pipeline•Orchestration Platform•Delivery Manager•Artifact Repository
  23. 23. Jenkins(OSS Continuous Integration Server)
  24. 24. Orchestration platform
  25. 25. Jenkins•Logging•Notifications•Clustered•GUI•Authentication•Authorization
  26. 26. LiveRebel(Commercial Delivery Manager)
  27. 27. What’s so different?•No Downtime•Failsafe Delivery & Recovery•Wide Ecosystem Support•Exact Knowledge•Zero Configuration
  28. 28. What can you do with LiveRebel?•Deploy/Undeploy•Update •No downtime •No lost sessions •Plain old restarts•Edit in place
  29. 29. Why LiveRebel? •No good OSS alternative •Supports many containers •No downtime updates •Integrates with OSS projects
  30. 30. Nexus(OSS/Commercial Artifact Repository)
  31. 31. Key Features•Repositories•Authentication•Authorization•Logging
  32. 32. Now let’s build a pipeline!
  33. 33. Build Test QA Prod The Pipeline / The Repos
  34. 34. Jenkins Nexus LiveRebel Tomcat #2 Tomcat #3Redis #1Redis #1 Tomcat #1 Redis #3 Apache LB
  35. 35. Build•Build the artifact•Upload to “build” repository
  36. 36. Test•Download “build” artifact•Create a new test deployment•Run acceptance tests•Upload “test” artifact
  37. 37. QA•Download “test” artifact•Send email to QA to begin testing•Upload “qa” artifact •When QA finished!•Clean up test deployment
  38. 38. PROD•Download “qa” artifact•Upload “rc” artifact•Send email to Biz for decision•Deploy to production
  39. 39. Things Not Covered•Database•Configuration & Environment•Tests & Monitoring
  40. 40. Questions?•How do you package the application?•Where did it come from?•Where does it go?•How does it get deployed?•What exactly is in prod now?
  41. 41. Conclusions•Jenkins jobs represent the workflow•Nexus is a sync-point for long- running workflows•LiveRebel manages apps and users•Manual flows with email/REST•Tracking with scripts & text files
  42. 42. Q&A