CI/CD, short for Continuous Integration and Continuous Deployment (or Continuous Delivery), is a software development practice in which code changes are automatically validated, tested, and released to production through a shared, automated pipeline.
The first part, Continuous Integration, refers to the habit of merging code changes into a shared repository frequently - often multiple times a day. Each time a developer pushes new code, an automated process kicks in: the codebase is built from scratch and a suite of tests is executed. The purpose is to catch errors early, before they accumulate and become expensive to fix. Instead of waiting until the end of a project to integrate everyone's work, CI surfaces conflicts and bugs immediately after they are introduced.
The second part, Continuous Deployment, takes over once the code has passed its automated tests. It describes the practice of automatically releasing validated code to a live production environment without requiring manual approval or intervention. Some teams distinguish this from Continuous Delivery, where the pipeline stops just short of production and a human must authorize the final release. In everyday usage, however, CI/CD is often used to describe both approaches interchangeably.
Together, CI and CD form a pipeline - a sequence of automated steps that code must pass through on its way from a developer's machine to the end user. A typical pipeline might include steps for compiling the code, running unit and integration tests, checking code quality, building a deployment artifact, and finally pushing that artifact to a server or cloud environment.
The practical effect of a well-functioning CI/CD pipeline is that software teams can ship changes faster and with greater confidence. Releases become smaller and more frequent, which makes individual deployments less risky and easier to roll back if something goes wrong. The pipeline also serves as a shared quality gate, ensuring that no change reaches production without passing a defined set of checks.
CI/CD is a foundational concept in modern software development and is closely associated with DevOps culture, where the goal is to reduce the time and friction between writing code and delivering value to users.