Continuous Delivery: How to set up a deployment pipeline – Part 1
As we all know Continuous Delivery was born from the Agile Continuous Improvement practice and even if it’s newer than other practices has already won his place as being a critical component in most Lean/Agile environments.
In these series we’ll assume that the reader is familiar with at least some basic Agile concepts as we won’t discuss anything else but how to set up a deployment pipeline, term introduced by Continuous Delivery.
We all know that the demand for quality software at a faster and faster rate is always on an ascending trend and because of that every organization (who understands the challenge and want’s to stay in business) is putting more and more effort to become more and more flexible/adaptable/agile (like in the word agile) adopting methodologies like Lean and Agile.
In our scenario we’ll assume some things and we’ll use some tools or approaches but they are just an example and they might not necessarily represent the ideal set up for all organizations. However it should give you an idea (if you don’t have one already) about how a deployment pipeline might look like, or, if you are already agile it can work for you as an example or as a term of comparison.
Also Continuous Delivery is not only about automation, so when this is about to be put in place a deep investigation must be done as this is also about sales and pricing, about organizational structure and governance system and more.
In our series we’ll try to create a scenario in which a deployment pipeline is being set up for a SME which delivers web solutions. Also the components used in our example are just for testing purposes only and you can use any other component from the same category and rules should still apply (apart from those custom solutions which might need custom settings).
Prerequisites:
The above is a list of tools that will be used and the below is the list of an (maybe Agile) Integrated Development Environment:
- Build Servers
- Source Control
- Development
- Staging
- Production
That being said the introduction should be almost at the end but before we close it we’ll just mention that there will be a few other tools/components that we’ll use in our example and they are as follows (even if as we already mentioned the set up is not necessarily dependant on one or the other):
- CodeIgniter (and Django)
- MySQL Database
- BASH Shell Scripting
- SSH
In Part 2 we’ll start making our hands dirty so hang on.
















