Continuous Deployment is the practice of continuously pushing to production new versions of software under development.
Below we have compiled publicly available sources from around the world that present views on Continuous Deployment.
Continuous Deployment Overview
Continuous Deployment is the practice of continuously pushing to production new versions of software under development. In organizations like Facebook and Amazon, software is deployed thousands of times each day.
Continuous Deployment vs. Continuous Integration (CI) and Continuous Delivery
- Continuous Integration is a software development practice in which you build and unit-test software every time a developer checks in new code.
- Continuous Delivery (CD) is a software development practice in which continuous integration, automated testing, and automated deployment capabilities allow software to be developed and deployed rapidly, reliably and repeatedly with minimal manual overhead.
- Continuous Deployment - Continuous Deployment is a software development practice in which every code change goes through the entire pipeline and is put into production, automatically, resulting in many production deployments every day.
With Continuous Delivery your software is always release-ready, yet the timing of when to push it into production is a business decision, and so the final deployment is a manual step. With Continuous Deployment, any updated working version of the application is automatically pushed to production. Continuous Deployment mandates Continuous Delivery, but the opposite is not required.
Overviews of Continuous Deployment and Benefits
-
-
Eric Ries
2009
startuplessonslearned.com
-
Paul Duvall
refcardz.dzone.com
-
Eishay Smith
2010
prezi.com
Continuous Deployment Best Practices
-
Mike Mooney
2015
airpair.com
-
Bill McGee
2016
sauceio.com
-
2014
technologyconversations.com
-
Ketan Padegaonkar
2015
blog.snap-ci.com
-
Marko Anastasov
2016
semaphoreci.com
-
Relation Between Continuous Delivery and Continuous Deployment
-
Steve Smith
2014
blogs.atlassian.com
-
Jez Humble
2010
continuousdelivery.com
-
Martin Fowler
2013
martinfowler.com
-
Carl Caum
2013
puppetlabs.com
-
Chris Riley
2016
pagerduty.com
-
Michael Chletsos
2012
blog.assembla.com
-
Ravi Verma
2016
scmquest.com
-
Sanjeev Sharma
2013
sdarchitect.wordpress.com
Continuous Deployment Case Studies
-
-
Michael Gorven
2016
engineering.instagram.com
-
2014
technologyconversations.com
-
Ross Snyder
2013
slideshare.net
-
Timothy Fitz
2009
timothyfitz.com
-
Thomas Sundberg
2015
thomassundberg.wordpress.com
-
-
Kemp Brown
2015
azure.microsoft.com
-
Michael Kaufmann
2016
writeabout.net
-
Harris Boyce
2015
incyclesoftware.com
-
-
Steve Fox
2016
messageconsulting.com
-
-
Robert Firek
2016
codurance.com
-
David Cramer
2015
blog.getsentry.com
-
Cephas Lin
2016
azure.microsoft.com
-
Jacopo Daeli
2016
jacopodaeli.com
-
-
-
-
-
Vendors Offering Continuous Deployment Solutions
-
electric-cloud.com
A single DevOps platform that supports the entire end-to-end software development and delivery process
-
jetbrains.com
Continuous Deployment with TeamCity - official solution page
-
zerostack.com
A Continuous Integration and Continuous Deployment Platform for Cloud-Native Applications.
-
appcito.com
Supports Continuous Deployment for two main use cases: Blue-green production servers and production traffic copied to test servers.
-
semaphoreci.com
Enables your team to roll-in revisions and gain feedback faster by automatically deploying a good version of your code to the desired server.
-
speedcurve.com
SpeedCurve's Continuous Deployment dashboard helps you keep the development of your site on track with continuous feedback on your performance pipeline.
-
hub.jazz.net
Build and deploy feature that automates the continuous deployment of your projects.
Further Reading
- Software Deployment Process — Resources offering general descriptions of the deployment process, deployment in specific environments, how deployment works in specific tools, and examples of deployment processes at Amazon, GitHub and more.
- Software Deployment Best Practices — Resources offering software deployment best practices and guidelines, deployment recommendations for specific environments, and examples of deployment best practices used by real organizations.
- Software Deployment and Release Requirements — Resources on the relation and dependency between the requirements defined for a release, and the resulting deployments of that release.
- Compliance and Auditing in Software Deployment — Resources on how to manage deployments subject to regulation or contractual compliance, with the requirement to enable auditing by a third party.
- Deployment Verification — Resources on how to verify that a deployment or software package is of sufficient quality for its users.
- Examples of Software Deployment Process — Resources offering general descriptions of software deployment process, and examples of deployment processes at Amazon, GitHub and more.
- Software Deployment Process with Specific Technologies — Resources about how software deployment works in specific tools, including Octopus, Puppet, and other commercial and open-source technologies.
- Deployment Automation — Deployment automation allows applications to be deployed across the various environments used in the development process, as well as the final production environments.
- Deployment Automation Tools — Deployment Automation Tools help organizations improve the speed and quality of software releases, and address the challenges of manual software deployment.
- Continuous Deployment — Continuous Deployment is the practice of continuously pushing to production new versions of software under development.
- Model-Driven Deployments — Model Driven Deployments help organizations automate complex deployments, in order to speed up releases and increase software quality.
- Software Deployment Scripts — Resources on automating deployments using scripts, typically written in-house or repurposed by operations staff or release engineers.
- Deployment Automation Best Practices and Approaches — A comprehensive list of deployment automation best practices from leading experts of the field.
- Deployment Automation Using Specific Tools — A comprehensive list of Deployment Automation how to guidelines and tutorials using specific tools such as Docker, Ant, Jenkins and Capistrano.
- Deployment via Continuous Integration Tools — Resources on how to deploy software applications using Continuous Integration tools like Jenkins and TeamCity.
- Deployment Using Containers — Resources on how to deploy software applications using container frameworks such as Docker and CoreOS.
- Types of Software Deployments — Resources on how to deploy complex software on different contexts, environments and stacks.
- Deployments in the SDLC — Deploying software at different stages of the Software Development Lifecycle - development, testing and production.
- Deploying Locally, Virtualized or on the Cloud — Resources on how to deploy software to different computing models: local machines, virtualized machines or cloud instances.
- Deployment by Type of Application — Resources on how to deploy different types of applications, including web apps, mobile apps, and enterprise applications.
- Deployment by Stack — Resources on how to deploy applications on common technology stacks such as J2EE, LAMP and OpenStack.
- Deployment Planning — General resources on deployment planning, deployment in specific environments such as Geronimo, Oracle, WebSphere, and examples of deployment planning at real organizations.
- Examples of Deployment Planning — General resources on deployment planning, including detailed examples of software deployment planning at real organizations.
- Software Deployment Checklist — General resources on what a deployment checklist should contain, and specific checklists for general deployments, and for deploying in specific environments such as Google Cloud, Django and Drupal.
- Deployment Plan Template — Resources offering document templates that can be used to plan complex deployments, and examples of deployment templates used by real organizations.
Suggest a Resource!
Know an online resource which could be relevant for this wiki page? We're constantly updating our wiki and will be happy to review it!