Defining Continuous Deployment

The work on defining Continuous Deployment (CDP) steps should not start in Jenkins or any other similar tool. Instead, we should focus on Shell commands and scripts and turn our attention to the CI/CD tools only once we are confident that we can execute the full process with only a few commands.

We should be able to execute most of the CDP steps from anywhere. Developers should be able to run them locally from a Shell. Others might want to integrate them into their favorite IDEs. The number of ways all or parts of the CDP steps can be executed might be quite huge. Running them as part of every commit is only one of those permutations. The way we execute CDP steps should be agnostic to the way we define them. If we add the need for very high (if not complete) automation, it is clear that the steps must be simple commands or Shell scripts. Adding anything else to the mix is likely to result in tight coupling which limits our ability to be independent of the tools we're using to run those steps.

Our goal in this chapter is to define the minimum number of steps a continuous deployment process might need. From there on, it would be up to you to extend those steps to serve a particular use-case you might be facing in your project.

Once we know what should be done, we'll proceed and define the commands that will get us there. We'll do our best to create the CDP steps in a way that they can be easily ported to other tools. We'll try to be tools agnostic. There will always be some steps that are very specific to the tools we'll use, but I hope that they will be limited to scaffolding, and not the CDP logic.

This chapter assumes that you are already familiar with LimitRanges and ResourceQuotas, besides the requirements from the previous chapters. If you're not, please refer to The DevOps 2.3 Toolkit: Kubernetes (https://www.amazon.com/dp/1980690138) for more info.

Whether we'll manage to reach our goals entirely is yet to be seen. For now, we'll ignore the existence of Jenkins and all the other tools that could be used to orchestrate our continuous deployment processes. Instead, we'll focus purely on Shell and the commands we need to execute. We might write a script or two though.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.146.255.127