In the previous chapters, we set up various build definitions to create application binaries and packages that can be used as deployment artifacts. While preparing these artifacts, we implemented automated tests that can be included in automated build definitions. This process of automating the build and testing of code every time a team member introduces changes to version control is generally referred to as CI. CI, coupled with a mature version control system and a well-defined branching strategy, is the primary factor in encouraging developers to be bolder and more agile with their commits, contributing a high release cadence.
On the other hand, CD is the (generally) automated process of building, testing, and configuring your application and finally deploying that specific version of your application to a staging environment. Multiple testing or staging...