
CI/CD is an automated workflow that replaces manual steps (human intervention needed to get new code from a commit into production, encompassing the build, test, deploy infrastructure provisioning) with reliable pipelines. It falls under DevOps; it accelerates software delivery, reduces downtime, and improves product quality through automation.

CI ensures that code changes are validated early and often through automated builds and tests, reducing errors and speeding up development. It’s the practice of integrating all your code changes into the main branch of a shared source code repository early and often, automatically testing each change when you commit or merge them, and automatically kicking off a build. This way, errors and security issues can be identified and fixed more easily, and much earlier in the development process, prevent them from becoming more difficult and costly to fix later on.
Common code validation processes start with a static code analysis that verifies the quality of the code. Once the code passes the static tests, automated CI routines package and compile the code for further automated testing.
Common tests types:
CD is the process of automatically preparing tested code so it is always ready for deployment to any environment. It is a software development practice that works in conjunction with CI to automate the infrastructure provisioning and application release process.
Once code has been tested and built as part of the CI process, CD takes over during the final stages to ensure it’s packaged with everything it needs to deploy to any environment at any time. CD can cover everything from provisioning the infrastructure to deploying the application to the testing or production environment.