• Save
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

on

  • 1,519 views

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 ...

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.

Statistics

Views

Total Views
1,519
Views on SlideShare
1,485
Embed Views
34

Actions

Likes
2
Downloads
0
Comments
0

2 Embeds 34

https://twitter.com 27
http://www.linkedin.com 7

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • DEV2 -Continuous Delivery in the RealWorld - Techniques to Reduce theDevelopers Blood PressurePresented by Nikolai BlackieAdaptiv Integration9th of September 2012
  • 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 Late Manual Configuration Management of Production Environments
  • Continuous Delivery Benefits Empowering Teams Reducing Errors Lowering Stress Deployment Flexibility Practice Makes Perfect
  • 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
  • Deployment Pipeline Automated User Delivery Team Version Control Build & Unit Tests Acceptance Tests Acceptance Tests Release
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Continuous Delivery Servers Octopus Deploy Team Foundation Server ThoughtWorks Go Urban{Code} uDeploy Nolio Application Release Operations Suite XebiaLabs Deployit
  • Code Camp Sponsors
  • Questions?