Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NDC2013 - Continuously Deploying Complex Apps Doesn't Have to Suck!

NDC2013 - Continuously Deploying Complex Apps Doesn't Have to Suck!

One of the main tenets of Agile development is to deliver business value to the production environment early and often. That's easy enough if you are delivering one small web app, but what if your application is composed of several web apps across multiple tiers with a large database and maybe even a few Windows services and scheduled tasks? Now you need a deployment system that is built to scale and allows you to automate all of these tasks to achieve consistency in your deployments. In this talk I will show you how to deploy a complex application to multiple environments with just the click of a button using TeamCity and Octopus Deploy.

Jeff French

June 12, 2013
Tweet

More Decks by Jeff French

Other Decks in Programming

Transcript

  1. DOING IT RIGHT Continuous Delivery Doesn’t Have To Suck Jeff

    French VP Product Development & Engineering ShoppinPal
  2. •What is Continuous Delivery? •Why is it important? •What’s the

    wrong way to do it? •What’s the right way to do it?
  3. “Our highest priority is to satisfy the customer through early

    and continuous delivery of valuable software” “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale” http://agilemanifesto.org/principles.html
  4. COMPLEXITY •Front-End •Catalog App •Shopping Cart App •Service Layer •API

    •Service Bus •Database •Scheduled Tasks •Mailer •zOMG •Bullet Points •WTF?
  5. WHAT CAN OCTOPUS DEPLOY? •Websites (IIS) •Windows Services •Azure Web

    Sites •Azure Cloud Services •Anything...No Really...Anything!
  6. VARIABLES AND TRANSFORMS •Config Transforms •*.Release.config •*.<Environment>.config •MySuperAwesome.config •Variables •Connection

    Strings •AppSettings •Accessible From •PowerShell Scripts •MSBuild files •Environment Variables