Continuous deployment models and tools
A typical CI/CD workflow looks like the following:
- Your developers write code and push it to a code repository (typically a Git repository).
- Your CI tool builds the code, runs a series of tests, and pushes the tested build to an artifact repository. Your Continuous Deployment tool then picks up the artifact and deploys it to your test and staging environments. Based on whether you want to do Continuous Deployment or delivery, it automatically deploys the artifact to the production environment.
Well, what do you then choose for a delivery tool? Let's look at the example we covered in Chapter 10, Continuous Integration. We picked up a Flask app and used a CI tool such as GitHub Actions/Jenkins/AWS Code build that uses Docker to create a container out of it and push it to our Docker Hub container registry. Well, we could have used the same tool for also doing the deployment...