What is it?
Continuous Integration “CI” and Continuous Deployment “CD” - CI/CD is a process by which code can be quality checked and delivered to a PRODUCTION environment in an automated way. CI/CD provides solutions to common problems found when trying to introduce new code to a production system in a controlled and uniform manner, allowing multiple teams to work together in a cohesive way.
What's the difference between CI and CD (and the other CD)?
CI, or Continuous Integration, is the process with which developers are most familiar. CI is an automated process that takes new code created by a developer and builds, runs, tests, and merges that code to a shared repository. Using CI allows teams of developers to work on the same application in an organized and consistent manner.
A typical CI process
The CD part of CI/CD usually stands for 'continuous delivery'. However, CD in CI/CD refers to 'continuous deployment'. With continuous deployment, any code that has been merged into a delivery or release branch of a repository, is automatically built, tested, and deployed to production environments. Using CI/CD drastically reduces the ”time to live” for any code a developer wants to produce. The term “delivery” is often used by development teams to refer to the code being delivered, but there is a step between 'delivered' and 'deployed' that is controlled by other automated processes usually owned by quality assurance teams.
Cloud-Native CI/CD with OpenShift Pipelines