In one of the previous chapters on building and packaging, we learned about different build systems and different packaging systems that our application can use. Continuous Integration (CI) and Continuous Deployment (CD) allow us to use knowledge of building and packaging to improve service quality and the robustness of the application we are developing.
Both CI and CD rely on good test coverage. CI uses mostly unit tests and integration tests, whereas CD depends more on smoke tests and end-to-end tests. You learned more about the different aspects of testing in Chapter 8, Writing Testable Code. With this knowledge, you are ready to build a CI/CD pipeline.
In this chapter, we'll cover the following topics:
- Understanding CI
- Reviewing code changes
- Exploring test-driven automation
- Managing deployment as code
- Building deployment...