An overview of CI/CD
CI and CD are modern approaches to software delivery, where automation is used to improve quality and reduce delay. In this section, we will define CI/CD and explore the issues addressed by this best practice.
First, let's provide some background.
Understanding why CI/CD
In order to appreciate CI/CD, let's describe a typical development process Figure 12.1 shows the development process:
In the previous diagram, we are showing how we might have a team of developers all developing software on their own devices. The developer changes are then promoted to a systems integration (SIT) environment for initial testing. Once these have been verified, the changes then progress to a user acceptance testing (UAT) environment. Again, after a round of testing, these changes are progressed into production (PROD) with a reasonable amount of confidence.
At some point, the team wants its latest...