Deployment Academy: an introduction
Continuous Delivery is a fundamentally new paradigm in software development. In the last 10 years, we've gone from Waterfall to Agile to Continuous Delivery (CD). CD gives you the ability to continuously ship improvements to your customers, with minimal overhead and risk, and is being rapidly adopted across the industry.
But right now it's hard to do Continuous Delivery well. There are tons of tools to choose from, and myriad means to the same end. As a company building a platform to help others do integration testing with Continuous Deployment, we've seen inside thousands of deployment processes.
This puts us in a fairly unique position to tell what works and what doesn't - that's the information that we want to share with you.
What is Continuous Deployment?
Let's start with a concise definition of CD from Martin Fowler's brilliant blog. According to Martin, "you’re doing continuous delivery when:
- Your software is deployable throughout its lifecycle
- Your team prioritizes keeping the software deployable over working on new features
- Anybody can get fast, automated feedback on the production readiness of their systems any time somebody makes a change to them
- You can perform push-button deployments of any version of the software to any environment on demand"
What is Deployment Academy?
The aim of Deployment Academy is to give you the knowledge to design such a Continuous Delivery process. It is a mixture of introductions to the various processes that you need to follow to do CD, best practices and specific tools advice.
What will Deployment Academy cover?
- Version control
- Environment setup
- Continous Integration tools
- Testing tools
- Testing workflow
- Hosting for CD
- Database migrations and CD