Exploring Structural CI/CD Design Patterns
In this chapter, we’ll dig deeper into structural design patterns and how software teams can leverage them to design efficient CI/CD pipelines to develop, test, build, and deploy modern software. This chapter describes two different design approaches – the monolithic approach and the polylithic approach. The monolithic approach to repository design is where we put all the components of the entire application in one repository or pipeline. The polylithic approach is where we define a clear and strong separation between components or types of executions.
In this chapter, we will also explore dependencies between CI/CD patterns and their components, tools, and code, as well as the modularity of code. Lastly, we will conclude by highlighting the importance of the level of control and considerations around it.
By the end of the chapter, you will have a solid understanding of applying structural design pattern concepts to make...