DEV2 -Continuous Delivery in the RealWorld - Techniques to Reduce theDevelopers Blood PressurePresented by Nikolai Blackie...
My First Unit Test – 28th October 2003
Agenda Continuous Delivery Deployment Pipelines Configuration Management Deployment Scripting Octopus Deploy
Software Delivery Anti-Patterns               Deploying Software Manually      Deploying to a Production-like Environment ...
Continuous Delivery Benefits               Empowering Teams                Reducing Errors                Lowering Stress ...
Principles of Software Delivery    Repeatable, Reliable Process for Releasing Software               Automate Almost Every...
Deployment Pipeline                                                          Automated             User Delivery Team   Ve...
Delivery Pipeline                                                                               Source Control            ...
Deployment Pipeline Best Practices            Only Build Your Binaries Once     Deploy the Same Way to Every Environment  ...
Configuration Management      Keep Absolutely Everything in Version Control                • Dependent frameworks & compon...
Deployment Scripting      Use a deployment script per application package  Use an Appropriate Technology to Deploy Your Ap...
PowerShell Deployment Scripting          Use certificates to enforce security              Use Deploy Orchestrators       ...
Octopus Deploy                              NuGet                             Package       CI                            ...
Continuous Delivery Servers                   Octopus Deploy              Team Foundation Server                  ThoughtW...
Code Camp Sponsors
Questions?
Continuous Delivery in the real world - techniques to reduce the developers blood pressure
Upcoming SlideShare
Loading in...5
×

Continuous Delivery in the real world - techniques to reduce the developers blood pressure

1,421

Published on

Do you suffer from elevated stress and high blood pressure from your current software release cycles? Lost count of the 2am troubleshooting sessions trying to working out why production didn’t deploy like test? In this session you will see real life continuous delivery strategies from the field, learn some implementation techniques and demonstrations of a few tools that will assist in reducing the headache of manual software delivery.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,421
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Continuous Delivery in the real world - techniques to reduce the developers blood pressure

  1. 1. DEV2 -Continuous Delivery in the RealWorld - Techniques to Reduce theDevelopers Blood PressurePresented by Nikolai BlackieAdaptiv Integration9th of September 2012
  2. 2. My First Unit Test – 28th October 2003
  3. 3. Agenda Continuous Delivery Deployment Pipelines Configuration Management Deployment Scripting Octopus Deploy
  4. 4. Software Delivery Anti-Patterns Deploying Software Manually Deploying to a Production-like Environment Late Manual Configuration Management of Production Environments
  5. 5. Continuous Delivery Benefits Empowering Teams Reducing Errors Lowering Stress Deployment Flexibility Practice Makes Perfect
  6. 6. Principles of Software Delivery Repeatable, Reliable Process for Releasing Software Automate Almost Everything If It Hurts, Do It More, Bring the Pain Forward Build Quality In Everybody Is Responsible for the Delivery Process Continuous Improvement
  7. 7. Deployment Pipeline Automated User Delivery Team Version Control Build & Unit Tests Acceptance Tests Acceptance Tests Release
  8. 8. Delivery Pipeline Source Control Environment Source Code Configuration Continuous Integration Server Deploy & Test Build & Unit Test Package Release PackageContinuous Delivery Server QA Initiated Ops Initiated Deployment DeploymentEnvironments Automated User Staging/Production Acceptance Test Acceptance Test
  9. 9. Deployment Pipeline Best Practices Only Build Your Binaries Once Deploy the Same Way to Every Environment Smoke-Test Your Deployments Deploy into a Copy of Production Each Change Should Propagate Instantly If Any Part of the Pipeline Fails, Stop the Line
  10. 10. Configuration Management Keep Absolutely Everything in Version Control • Dependent frameworks & components • 3rd Party Binaries • All configuration Application Configuration • Application configuration created at deploy time • Use a template and environment specific settings Deployment Configuration • Configuration for deployment activities derived at deploy time • E.g. Host credentials for AppPools
  11. 11. Deployment Scripting Use a deployment script per application package Use an Appropriate Technology to Deploy Your Application Use the Same Scripts to Deploy to Every Environment Evolve Your Deployment System Incrementally Tips • Always Use Relative Paths • Eliminate Manual Steps • Constrain Your Application with Integrated Smoke Tests
  12. 12. PowerShell Deployment Scripting Use certificates to enforce security Use Deploy Orchestrators • PreDeploy.ps1 • Deploy.ps1 • PostDeploy.ps1 • DeployFailed.ps1 Create Common PowerShell Modules • BizTalk • IIS • MSMQ • SQL • Windows Services
  13. 13. Octopus Deploy NuGet Package CI 2 Octopus Server Package Release NuGet Package NuGet 1 Package 3 Package Step 1 Package Step 2 Package Step 3 Octopus Tentacle Octopus Tentacle Octopus Tentacle UAT Staging Production
  14. 14. Continuous Delivery Servers Octopus Deploy Team Foundation Server ThoughtWorks Go Urban{Code} uDeploy Nolio Application Release Operations Suite XebiaLabs Deployit
  15. 15. Code Camp Sponsors
  16. 16. Questions?

×