SlideShare a Scribd company logo
Continuous
Deployments with
Octopus Deploy
Adrian Wright
Pittsburgh Tech Fest 2014
@adrianwright, adriantwright@gmail.com
About Me
▪ Consultant at Summa
▪ .NET architect with 9 years experience
▪ 3 years experience in builds/deployments
▪ Adjunct Faculty Geneva College at one time
▪ Passionate about making teams more productive… automation helps!
Outline
▪ Automation – Why is it hard?
▪ 5 things I like about Octopus
▪ Demo
Automating Stuff
▪ What do we mean when we say “automation”?
▪ Why do we care?
▪ Who’s responsible?
Facts and figures
▪ Source: dzone
▪ 48% are checking in infrastructure changes, environment changes, and system
definitions into source control
▪ 24% of teams deploy a change within one week
▪ Lack of Time and Company Culture leading inhibitors
▪ Tools are NOT an inhibitor
▪ Technical challenges are an inhibitor, but many can be solved
First Level Automation
▪ Continuous integration
▪ Unit tests
▪ Building a deployable package
▪ Automating some deployments?
Second Level Automation
▪ App deployments to Dev, Staging, and Production environments
▪ Database deployments
▪ Integration tests
▪ Auditable deployment trail
Third Level Automation
▪ Infrastructure / VM level automation (outside of today’s scope)
▪ Advanced automated testing
▪ Automated rollbacks (all types of deployments)
▪ Continuous, gated delivery (any time of day)
▪ Advanced topics – web farms, manual intervention workflows, feature switches,
enterprise-wide automation (mobile, etc.)
Things to consider
▪ Needs a management sponsor to break the “we only build functional stuff” cycle
▪ Collect statistics, if necessary
▪ Our QA’s spend 30 minutes deploying a build
▪ 15% of our releases have deployment issues
▪ Deployment automation lives and dies by automated testing
Treat it like a product
▪ Start small
▪ Evaluate vendors
▪ Run an achievable, successful pilot project
▪ Incorporate into daily process (definition of ‘done’)
▪ Build a roadmap
5 things I like about Octopus
Flexible
▪ Based on NuGet – if you can package it, you can deploy it
▪ Deploy to multiple servers in multiple environments
▪ Built for Web apps, windows services, and Azure apps
▪ Deploy everything else with Powershell
▪ Integrate with CI using TeamCity and TFS plugins or CLI or REST API
Improves Your Process/Visibility
▪ Automated build/test/deploy is good for your health
▪ Helps you get the most out of managing Dev, Staging, and Prod environments
▪ Dashboard shows current state of each server in each environment
▪ Auditable trail of who deployed what when, and what went wrong
▪ Link your TeamCity builds with your deployments
▪ Pro-active about alerts
Built for .NET, but don’t stop there
▪ If you can pack it, you can deploy it
▪ Deploy .NET web apps, windows services, SQL Server databases, to traditional
or Azure servers with ease
▪ Built in IIS configuration support
▪ Web.config transforms
▪ Connection string replacement
Excellent Support Team
▪ Quick responses on forum
▪ Monthly or bi-monthly releases
▪ Helpful tutorials, demos, webinars
▪ Public product roadmap
▪ Swag!
Feature-Rich
▪ TeamCity and TFS plugins
▪ OctoPack (NuGet)
▪ Manual Intervention
▪ Team permissions
▪ Security
▪ At-rest encryption
▪ SSL
▪ encrypted backups
▪ two-way trust
Example – Without Octopus
▪ Using TeamCity as a Deployment tool
▪ Deployed 5 web apps/services, each with its own database
▪ A big, complex integration platform
▪ A VB6-based client application with over 150 executables
▪ Windows services to be distributed to 1000+ locations nationwide
▪ Medium/Large team – 25, including Dev, BA, QA
▪ TeamCity was not the perfect solution, but the automation mentality and scripting
were in place to plug in Octopus (TC has more deployment features now)
Example – With Octopus
▪ 4 web apps and databases
▪ Replaced a home-grown deployment automation tool
▪ Small team – 1-2 developers, BA, Project Manager, UX Designer
▪ Initial Octopus implementation took one week
▪ No production deployment errors (yet)
▪ Currently releasing multiple times per week
Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014
Demo – getting up and running with Octopus
▪ Set up Dev, Staging, Prod servers on Azure
▪ Set up Mercurial repo (BitBucket)
▪ Create new MVC app
▪ Install TeamCity
▪ Add build for MVC app
▪ Install Octopus Server
Demo
▪ Install Octopus Tentacles on 3 servers (Dev, Test, Prod)
▪ Enabled TeamCity NuGet Server
▪ Add OctoPack to .csproj via nuget
▪ Add NuSpec File
Demo
▪ Add TeamCity Octopus Plugin
▪ Enable Octopack on Build step
▪ Set TC to use a standard build number format (0.9.x)
▪ Configure Octopus to find TC NuGet Feed
▪ Add new NuGet project (include Custom Installation Directory)
▪ Set up IIS apps on all servers
▪ Create Octopus Project
▪ Manually create a release and promote to all servers
Demo
▪ Add transform files
▪ Create Deploy project in TeamCity
▪ Add AssemblyInfoPatcher to the build
▪ Add Environment name and version number to Contact.cshtml
▪ Promote to Dev, Staging, and Prod and verify
Final thoughts
▪ Create a vision for your automation
▪ Challenge company culture
▪ There are many useful automation tools out there. Octopus is a very useful part
of the puzzle.
▪ @adrianwright, adriantwright@gmail.com

More Related Content

What's hot (20)

PDF
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
Puppet
 
PDF
Continuous delivery with open source tools
Sebastian Helzle
 
PPTX
Cypress report
Adarsh
 
PPTX
Speed up your regression and reduce cost load with Selenoid + K8s + ReportPortal
Danylo Kuvshynov
 
ODP
Version Controlling
Vaidik Kapoor
 
PPTX
Why you should switch to Cypress for modern web testing?
Shivam Bharadwaj
 
PDF
Docker Best Practices Workshop
Ahmed AbouZaid
 
PPTX
Engineering Tools at Netflix: Enabling Continuous Delivery
Mike McGarr
 
PDF
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
Tikal Knowledge
 
PDF
Continuous delivery - tools and techniques
Mike McGarr
 
PPTX
Selenoid & Allure - how to make them work together?
Michał Ślęzak
 
PDF
e2e testing with cypress
Tomasz Bak
 
PPTX
Ice breaker with dev ops
Mukta Aphale
 
PPTX
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Giulio Vian
 
PDF
10 Deployments a day - A brief on extreme release protocols
Vivek Parihar
 
PDF
Jenkins
Roger Xia
 
PDF
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous ...
Stefan Teixeira
 
PDF
Saving Time and Money with Vagrant
Tim Broder
 
PPTX
An introduction to Atlassian Bitbucket Pipelines
Dave Clark
 
PDF
Webinar - Continuous Integration with GitLab
OlinData
 
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
Puppet
 
Continuous delivery with open source tools
Sebastian Helzle
 
Cypress report
Adarsh
 
Speed up your regression and reduce cost load with Selenoid + K8s + ReportPortal
Danylo Kuvshynov
 
Version Controlling
Vaidik Kapoor
 
Why you should switch to Cypress for modern web testing?
Shivam Bharadwaj
 
Docker Best Practices Workshop
Ahmed AbouZaid
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Mike McGarr
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
Tikal Knowledge
 
Continuous delivery - tools and techniques
Mike McGarr
 
Selenoid & Allure - how to make them work together?
Michał Ślęzak
 
e2e testing with cypress
Tomasz Bak
 
Ice breaker with dev ops
Mukta Aphale
 
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Giulio Vian
 
10 Deployments a day - A brief on extreme release protocols
Vivek Parihar
 
Jenkins
Roger Xia
 
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous ...
Stefan Teixeira
 
Saving Time and Money with Vagrant
Tim Broder
 
An introduction to Atlassian Bitbucket Pipelines
Dave Clark
 
Webinar - Continuous Integration with GitLab
OlinData
 

Viewers also liked (9)

PDF
Making of Octopus Deploy - DDD Melbourne 2015
octopusdeploy
 
PPTX
Анатолий Кулаков «Octopus Deploy во имя добра»
SpbDotNet Community
 
PPTX
Deploy Automatizado usando Octopus
André Minelli
 
PPTX
Automated release management with team city & octopusdeploy - NDC 2013
Kristoffer Deinoff
 
PPTX
Octopus Deploy and how to stop deploying like an idiot
damovisa
 
PPS
Paul Allen's Octopus
Daryll McDade
 
PPTX
AzureDay Kyiv 2016 Release Management
Sergii Kryshtop
 
PPTX
Continuous Delivery Overview
Luca Minudel
 
PDF
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
garrett honeycutt
 
Making of Octopus Deploy - DDD Melbourne 2015
octopusdeploy
 
Анатолий Кулаков «Octopus Deploy во имя добра»
SpbDotNet Community
 
Deploy Automatizado usando Octopus
André Minelli
 
Automated release management with team city & octopusdeploy - NDC 2013
Kristoffer Deinoff
 
Octopus Deploy and how to stop deploying like an idiot
damovisa
 
Paul Allen's Octopus
Daryll McDade
 
AzureDay Kyiv 2016 Release Management
Sergii Kryshtop
 
Continuous Delivery Overview
Luca Minudel
 
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
garrett honeycutt
 
Ad

Similar to Octopus Deploy Tech Fest 2014 (20)

PPTX
Automated release management - DevConFu 2014
Kristoffer Deinoff
 
PPTX
File -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
Tomas Jansson
 
PDF
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 
PDF
Continuous Delivery with Sitecore
Code Computerlove
 
PPTX
Maksym Khamrovskyi, Kostiantyn Averin "Octopus: on the way to deployment bril...
Fwdays
 
PPTX
Romulus crisan + radu pascal click'n'deploy
Codecamp Romania
 
PPTX
Full Stack DevOps - Ready To Go
Kallex
 
PPTX
Continuous Delivery with TFS msbuild msdeploy
Peter Gfader
 
PPTX
Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)
Is Antipov
 
PPTX
How Azure DevOps can boost your organization's productivity
Ivan Porta
 
PPSX
DevOps
Matthew Jones
 
PDF
From zero to one-click deploy
Rue La La
 
PPTX
Continuous delivery the nuts and bolts
OlympicSoftware
 
PPTX
DevOps and Build Automation
Heiswayi Nrird
 
PPTX
CI adventures in .NET
Serhiy Kalinets
 
PPTX
Automated Deployment in Support of Continuous Integration to Transform SDLC
Derek Chang
 
PPTX
XP Days Ukraine 2016 Building CD Pipeline in Azure
Sergii Kryshtop
 
PPTX
Hurdles, the sprint with impediments on the way to automation
vinodpthmn
 
PPTX
Hurdles the sprint with impediments on the way to automation
vinodpthmn
 
PPTX
Domain's Robot Army
domaingroup
 
Automated release management - DevConFu 2014
Kristoffer Deinoff
 
File -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
Tomas Jansson
 
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 
Continuous Delivery with Sitecore
Code Computerlove
 
Maksym Khamrovskyi, Kostiantyn Averin "Octopus: on the way to deployment bril...
Fwdays
 
Romulus crisan + radu pascal click'n'deploy
Codecamp Romania
 
Full Stack DevOps - Ready To Go
Kallex
 
Continuous Delivery with TFS msbuild msdeploy
Peter Gfader
 
Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)
Is Antipov
 
How Azure DevOps can boost your organization's productivity
Ivan Porta
 
From zero to one-click deploy
Rue La La
 
Continuous delivery the nuts and bolts
OlympicSoftware
 
DevOps and Build Automation
Heiswayi Nrird
 
CI adventures in .NET
Serhiy Kalinets
 
Automated Deployment in Support of Continuous Integration to Transform SDLC
Derek Chang
 
XP Days Ukraine 2016 Building CD Pipeline in Azure
Sergii Kryshtop
 
Hurdles, the sprint with impediments on the way to automation
vinodpthmn
 
Hurdles the sprint with impediments on the way to automation
vinodpthmn
 
Domain's Robot Army
domaingroup
 
Ad

Recently uploaded (20)

PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Market Wrap for 18th July 2025 by CIFDAQ
CIFDAQ
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Basics of Electronics for IOT(actuators ,microcontroller etc..)
arnavmanesh
 
PPTX
Machine Learning Benefits Across Industries
SynapseIndia
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PPTX
PCU Keynote at IEEE World Congress on Services 250710.pptx
Ramesh Jain
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Market Wrap for 18th July 2025 by CIFDAQ
CIFDAQ
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Basics of Electronics for IOT(actuators ,microcontroller etc..)
arnavmanesh
 
Machine Learning Benefits Across Industries
SynapseIndia
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PCU Keynote at IEEE World Congress on Services 250710.pptx
Ramesh Jain
 

Octopus Deploy Tech Fest 2014

  • 1. Continuous Deployments with Octopus Deploy Adrian Wright Pittsburgh Tech Fest 2014 @adrianwright, [email protected]
  • 2. About Me ▪ Consultant at Summa ▪ .NET architect with 9 years experience ▪ 3 years experience in builds/deployments ▪ Adjunct Faculty Geneva College at one time ▪ Passionate about making teams more productive… automation helps!
  • 3. Outline ▪ Automation – Why is it hard? ▪ 5 things I like about Octopus ▪ Demo
  • 4. Automating Stuff ▪ What do we mean when we say “automation”? ▪ Why do we care? ▪ Who’s responsible?
  • 5. Facts and figures ▪ Source: dzone ▪ 48% are checking in infrastructure changes, environment changes, and system definitions into source control ▪ 24% of teams deploy a change within one week ▪ Lack of Time and Company Culture leading inhibitors ▪ Tools are NOT an inhibitor ▪ Technical challenges are an inhibitor, but many can be solved
  • 6. First Level Automation ▪ Continuous integration ▪ Unit tests ▪ Building a deployable package ▪ Automating some deployments?
  • 7. Second Level Automation ▪ App deployments to Dev, Staging, and Production environments ▪ Database deployments ▪ Integration tests ▪ Auditable deployment trail
  • 8. Third Level Automation ▪ Infrastructure / VM level automation (outside of today’s scope) ▪ Advanced automated testing ▪ Automated rollbacks (all types of deployments) ▪ Continuous, gated delivery (any time of day) ▪ Advanced topics – web farms, manual intervention workflows, feature switches, enterprise-wide automation (mobile, etc.)
  • 9. Things to consider ▪ Needs a management sponsor to break the “we only build functional stuff” cycle ▪ Collect statistics, if necessary ▪ Our QA’s spend 30 minutes deploying a build ▪ 15% of our releases have deployment issues ▪ Deployment automation lives and dies by automated testing
  • 10. Treat it like a product ▪ Start small ▪ Evaluate vendors ▪ Run an achievable, successful pilot project ▪ Incorporate into daily process (definition of ‘done’) ▪ Build a roadmap
  • 11. 5 things I like about Octopus
  • 12. Flexible ▪ Based on NuGet – if you can package it, you can deploy it ▪ Deploy to multiple servers in multiple environments ▪ Built for Web apps, windows services, and Azure apps ▪ Deploy everything else with Powershell ▪ Integrate with CI using TeamCity and TFS plugins or CLI or REST API
  • 13. Improves Your Process/Visibility ▪ Automated build/test/deploy is good for your health ▪ Helps you get the most out of managing Dev, Staging, and Prod environments ▪ Dashboard shows current state of each server in each environment ▪ Auditable trail of who deployed what when, and what went wrong ▪ Link your TeamCity builds with your deployments ▪ Pro-active about alerts
  • 14. Built for .NET, but don’t stop there ▪ If you can pack it, you can deploy it ▪ Deploy .NET web apps, windows services, SQL Server databases, to traditional or Azure servers with ease ▪ Built in IIS configuration support ▪ Web.config transforms ▪ Connection string replacement
  • 15. Excellent Support Team ▪ Quick responses on forum ▪ Monthly or bi-monthly releases ▪ Helpful tutorials, demos, webinars ▪ Public product roadmap ▪ Swag!
  • 16. Feature-Rich ▪ TeamCity and TFS plugins ▪ OctoPack (NuGet) ▪ Manual Intervention ▪ Team permissions ▪ Security ▪ At-rest encryption ▪ SSL ▪ encrypted backups ▪ two-way trust
  • 17. Example – Without Octopus ▪ Using TeamCity as a Deployment tool ▪ Deployed 5 web apps/services, each with its own database ▪ A big, complex integration platform ▪ A VB6-based client application with over 150 executables ▪ Windows services to be distributed to 1000+ locations nationwide ▪ Medium/Large team – 25, including Dev, BA, QA ▪ TeamCity was not the perfect solution, but the automation mentality and scripting were in place to plug in Octopus (TC has more deployment features now)
  • 18. Example – With Octopus ▪ 4 web apps and databases ▪ Replaced a home-grown deployment automation tool ▪ Small team – 1-2 developers, BA, Project Manager, UX Designer ▪ Initial Octopus implementation took one week ▪ No production deployment errors (yet) ▪ Currently releasing multiple times per week
  • 21. Demo – getting up and running with Octopus ▪ Set up Dev, Staging, Prod servers on Azure ▪ Set up Mercurial repo (BitBucket) ▪ Create new MVC app ▪ Install TeamCity ▪ Add build for MVC app ▪ Install Octopus Server
  • 22. Demo ▪ Install Octopus Tentacles on 3 servers (Dev, Test, Prod) ▪ Enabled TeamCity NuGet Server ▪ Add OctoPack to .csproj via nuget ▪ Add NuSpec File
  • 23. Demo ▪ Add TeamCity Octopus Plugin ▪ Enable Octopack on Build step ▪ Set TC to use a standard build number format (0.9.x) ▪ Configure Octopus to find TC NuGet Feed ▪ Add new NuGet project (include Custom Installation Directory) ▪ Set up IIS apps on all servers ▪ Create Octopus Project ▪ Manually create a release and promote to all servers
  • 24. Demo ▪ Add transform files ▪ Create Deploy project in TeamCity ▪ Add AssemblyInfoPatcher to the build ▪ Add Environment name and version number to Contact.cshtml ▪ Promote to Dev, Staging, and Prod and verify
  • 25. Final thoughts ▪ Create a vision for your automation ▪ Challenge company culture ▪ There are many useful automation tools out there. Octopus is a very useful part of the puzzle. ▪ @adrianwright, [email protected]