Octopus Deploy and how to stop deploying like an idiot
description
Transcript of Octopus Deploy and how to stop deploying like an idiot
- 1. @damovisa | #dddmelb With thanks to our sponsors
2. @damovisa | #dddmelb Damian Brady SSW #dddmelb | @SSW_TV @damovisa Octopus Deploy and how to stop deploying like an idiot 3. @damovisa | #dddmelb Meet Frank 4. @damovisa | #dddmelb Frank does deployments 5. @damovisa | #dddmelb Wow. Such Document. 6. @damovisa | #dddmelb Franks Checklist 7. @damovisa | #dddmelb Frank is good 8. @damovisa | #dddmelb Usually 9. @damovisa | #dddmelb Not Franks fault 10. @damovisa | #dddmelb Ugh. Brian. 11. @damovisa | #dddmelb Good old Frank 12. @damovisa | #dddmelb Franks an idiot. 13. @damovisa | #dddmelb Its just a script 14. @damovisa | #dddmelb Frank is not automated 15. @damovisa | #dddmelb Meet Octopus Deploy 16. @damovisa | #dddmelb Octopus is Franks replacement 17. @damovisa | #dddmelb do you know PowerShell? 18. @damovisa | #dddmelb What is Octopus? Key concepts How does it work? Getting started Where do I sign!? Agenda 19. @damovisa | #dddmelb MVP in VS ALM, MSTS, MCSD, MBA, OMGWTFBBQ SSW Solution Architect and QLD State Manager Co-author of Professional TFS 2013 I love: TFS Scrum ASP.NET MVC HTML5/CSS/JS Damian Brady 20. @damovisa | #dddmelb Introduction to Octopus 21. @damovisa | #dddmelb Repeatable Automated Deployment Tool For Windows and Azure Accessible by browser, a REST API, or command line What is Octopus? 22. @damovisa | #dddmelb Build Tool For Linux/OSX/mobile/tablet/walkman/whatever An 8-tentacled sea creature A quintopus What isnt Octopus 23. @damovisa | #dddmelb How does it work? 24. @damovisa | #dddmelb Packaging Versioning Feeds Under the covers 25. @damovisa | #dddmelb Head (Octopus Server) Tentacles (Services on clients) PKI and X.509 to secure communication (SQUID) Process steps are run on the tentacles Parts of an Octopus 26. @damovisa | #dddmelb Octopus Server Web Server App Server Database Server 27. @damovisa | #dddmelb Octopus Server Web Server App Server Database Server 28. @damovisa | #dddmelb Octopus Server Web Server App Server Database Server 29. @damovisa | #dddmelb Key Concepts 30. @damovisa | #dddmelb Project Environment Role Process Steps Variables Library Concepts 31. @damovisa | #dddmelb Project = a thing youre deploying 32. @damovisa | #dddmelb Environment = a collection of servers 33. @damovisa | #dddmelb Role = a defined purpose for a server 34. @damovisa | #dddmelb Process = the steps required for deployment 35. @damovisa | #dddmelb Same process for every environment* Everything is built on PowerShell Clever processes are possible Facts. 36. @damovisa | #dddmelb Getting Started 37. @damovisa | #dddmelb 1. Install Octopus Server 2. Install Tentacles 3. Configure Octopus (Environments, Projects, Steps) 4. Add OctoPack to your project 5. Add to your Build Process Getting Started 38. @damovisa | #dddmelb http://www.octopusdeploy.com/downloads Octopus Server Octopus Tentacles Introduce them Install Octopus 39. @damovisa | #dddmelb Set up a Nuget Feed Create an Environment Add machines and give them roles Create a Project Add process steps Configuration 40. @damovisa | #dddmelb A Nuget package that makes Nuget packages Those packages represent a version of your software Add OctoPack 41. @damovisa | #dddmelb TeamCity? install the plugin TFS? use the build template Something else? theres a solution: http://docs.octopusdeploy.com/display/OD/API+and+Integration Add to your build msbuild MySolution.sln /t:Build /p:RunOctoPack=true 42. @damovisa | #dddmelb Build and create a nuget package Publish the package to a feed Trigger an Octopus release 43. @damovisa | #dddmelb Set up CI into a dev/test environment Run tests as part of your process Promote automatically to a point Manually promote for production Use http://library.octopusdeploy.com Massive enterprise with layers of bureaucracy and TFS? Look at Release Manager for Visual Studio Advice 44. @damovisa | #dddmelb Where do I sign!? 45. @damovisa | #dddmelb 5 projects, 10 users, 5 tentacles = FREE Pricing 46. @damovisa | #dddmelb http://docs.octopusdeploy.com http://www.octopusdeploy.com/support http://www.octopusdeploy.com/partners http://octopusdeploy.uservoice.com Need help? 47. @damovisa | #dddmelb Linux deployments Passing variables between steps More flexible per-environment steps Parallel steps Better rollback support Coming soon 48. @damovisa | #dddmelb 49. @damovisa | #dddmelb Thank you! Damian Brady www.damianbrady.com.au | @damovisa | [email protected] www.ssw.com.au Sydney | Melbourne | Brisbane | Adelaide 50. @damovisa | #dddmelb