Continuous Deployment of Clojure Apps
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • 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
3,094
On Slideshare
699
From Embeds
2,395
Number of Embeds
7

Actions

Shares
Downloads
28
Comments
0
Likes
5

Embeds 2,395

http://blog.zololabs.com 2,383
http://dev.newsblur.com 3
http://www.newsblur.com 3
http://www.feedspot.com 2
http://webcache.googleusercontent.com 2
http://newsblur.com 1
https://www.google.be 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. Continuous Deploymentof Clojure AppsSiva Jagadeesan1Tuesday, April 30, 13
  • 2. “I am big believe inContinuous Deployment aslong as is not touchproduction.”DevOps Borat@DEVOPS_BORAT2Tuesday, April 30, 13
  • 3. Continuous DeploymentDeploying every change to ProductionOptionally a short QA gatePractice of releasing every good build to users“continuous release”3Tuesday, April 30, 13
  • 4. ContinuousDeploymentRelease is in the hands of IT4Tuesday, April 30, 13
  • 5. ContinuousDeploymentRelease is in the hands of ITis this a good thing?4Tuesday, April 30, 13
  • 6. ContinuousDeploymentRelease is in the hands of ITis this a good thing?NO!4Tuesday, April 30, 13
  • 7. ContinuousDeploymentRelease is in the hands of ITis this a good thing?dependsBusiness ReasonNO!4Tuesday, April 30, 13
  • 8. Continuous DeliveryRelease is in the hands ofBusiness5Tuesday, April 30, 13
  • 9. Continuous Delivery isabout keeping yourapplication in a state whereit is always able to deployinto production.6Tuesday, April 30, 13
  • 10. Continuous Deploymentof Clojure AppsSiva JagadeesanDelivery7Tuesday, April 30, 13
  • 11. ProcessTechnologyPeopleContinuousDelivery8Tuesday, April 30, 13
  • 12. Who am I?Siva JagadeesanInterests• Clojure• REST• Datomic• Continuous Deployment•TDD• Startups• Founder & CTO, Zolo Labs Inc• Director of Engineering, Runa Inc•@sivajag• siva@zololabs.com• http://blog.zololabs.com• http://techbehindtech.comAbout Me9Tuesday, April 30, 13
  • 13. • first product from Zolo Labs• Your digital assistant• helps with professional networking andrelationships• (and personal ones too!)10Tuesday, April 30, 13
  • 14. WhyContinuous Delivery?11Tuesday, April 30, 13
  • 15. Our highest priority is to satisfythe customer through early andcontinuous delivery of valuablesoftware12Tuesday, April 30, 13
  • 16. 13Tuesday, April 30, 13
  • 17. Our Goal• deliver high-quality, valuable softwarein an efficient, fast, and reliable manner14Tuesday, April 30, 13
  • 18. 15Tuesday, April 30, 13
  • 19. ContinuousIntegration16Tuesday, April 30, 13
  • 20. ContinuousIntegrationdevelopment team16Tuesday, April 30, 13
  • 21. ContinuousIntegrationdevelopment teamcode16Tuesday, April 30, 13
  • 22. ContinuousIntegrationdevelopment teamcoderequirementsprocess of delivering softwarewhole team16Tuesday, April 30, 13
  • 23. ContinuousDeliverydevelopment teamcoderequirementsprocess of delivering softwarewhole team17Tuesday, April 30, 13
  • 24. Benefits• Improved Team Attitude• More Responsive Team• Less Waste• Deployment Flexibility• Less Pressure• Less Bugs18Tuesday, April 30, 13
  • 25. ProcessTechnologyPeopleContinuousDelivery19Tuesday, April 30, 13
  • 26. Principles• The process for releasing/deploying software MUST be repeatable and reliable• Automate everything!• If something is difficult or painful, do it more often• Keep everything in source control• Done means “released”• Build quality in!• Everybody has responsibility for the release process• Improve continuously20Tuesday, April 30, 13
  • 27. Deployment Pipelineis an automated manifestation of yourprocess for getting software from versioncontrol into the hands of your users.21Tuesday, April 30, 13
  • 28. AimAids collaboration by making theprocess of building, testing and releasingsoftware visible to everyone involvedImproves FeedbackTeam can deploy any version ofsoftware to any environment at willwithout much effort22Tuesday, April 30, 13
  • 29. image from wiki23Tuesday, April 30, 13
  • 30. Deployment PipelineStagesCommit StageAutomated Acceptance Test StagesManual Test StagesRelease Stage24Tuesday, April 30, 13
  • 31. Deployment Pipelineimage from continuous delivery book25Tuesday, April 30, 13
  • 32. Deployment PipelineBest PracticesOnly build binaries onceDeploy the same way to every environmentSmoke test your deploymentsEach change should propagate through thepipeline instantlyIf any part of the pipeline fails, stop the line26Tuesday, April 30, 13
  • 33. ProcessTechnologyPeopleContinuousDelivery27Tuesday, April 30, 13
  • 34. This is easy ...28Tuesday, April 30, 13
  • 35. Deployment PipelineStagesCommit StageAutomated Acceptance Test StagesManual Test StagesRelease Stage29Tuesday, April 30, 13
  • 36. Commit StageCompile (if needed)Run testsCreate Binaries / ArtifactsPerform analysis of the code30Tuesday, April 30, 13
  • 37. Commit StageCompilelein compilelein -Uto force retrieve latest snapshotslein profileswith-profile31Tuesday, April 30, 13
  • 38. Commit StageRun Testslein testlein test-selectorsto force retrieve latest snapshotslein pluginslein-cucumberlein-difftestlein-expectationslein-midje32Tuesday, April 30, 13
  • 39. Commit StageCreate Binaries / Artifactslein uberjarprofiles to create different uberjarsPluginslein-distlein-tarlein-set-versionlein-sha-versionlein-package33Tuesday, April 30, 13
  • 40. Commit StagePerform analysis of the codelein-cloveragelein-bikeshedKitbit - https://github.com/jonase/kibitEastwood - https://github.com/jonase/eastwood34Tuesday, April 30, 13
  • 41. Acceptance andManual Test Stages35Tuesday, April 30, 13
  • 42. Types of testsimage from continuous delivery book36Tuesday, April 30, 13
  • 43. Clojure Web UI Testingclj-webdriverwebdriver-logic [uses core.logic]37Tuesday, April 30, 13
  • 44. Release Stage• lein run• chef• puppet• pallet38Tuesday, April 30, 13
  • 45. to sum up ...39Tuesday, April 30, 13
  • 46. ProcessTechnologyPeopleContinuousDelivery40Tuesday, April 30, 13
  • 47. Deployment Pipelineimage from continuous delivery book41Tuesday, April 30, 13
  • 48. ContinuousDeliverydevelopment teamcoderequirementsprocess of delivering softwarewhole team42Tuesday, April 30, 13
  • 49. Benefits• Improved Team Attitude• More Responsive Team• Less Waste• Deployment Flexibility• Less Pressure• Reducing Errors43Tuesday, April 30, 13
  • 50. Start doing continuous delivery to deliver high-quality,valuable software in an efficient, fast, and reliable manner.44Tuesday, April 30, 13
  • 51. Questions?• @sivajag• siva@zololabs.com• http://blog.zololabs.com• http://techbehindtech.com• zolodeck.com45Tuesday, April 30, 13