Continuous Integration & Continuous Deployment

What is a CI/CD pipeline? A continuous integration/continuous delivery(CI/CD) pipeline is a series of steps that must be performed in order to deliver a new version of software.

Elements of a CI/CD pipeline

The steps that form a CI/CD pipeline are distinct subsets of tasks grouped into what is known as a pipeline stage.

Typical pipeline stage include:

  • Build : The stage where the application is compiled.

  • Test : The stage where code is tested.

  • Release : The stage where the application is delivered to the repository.

  • Deploy : In this stage, code is deployed to production.

  • Validation and Compliance : The steps to validate a build are determined by the needs of your organization.

Difference between CI/CD

The "CI" in CI/CD refers to continuous integration, which is an automation process for developers. Successful CI means new code changes to an app are regularly built, tested and merged to a shared repository.

The "CD" in CI/CD refers to the continuous delivery and/or continuous deployment, which are related concepts that sometimes get used interchangeably.

  • Continuous Delivery usually means developer's changes to an application are automatically bug-tested and uploaded to a repository e.g GitHub

  • Continuous Deployment (the other possible "CD") can refer to automatically releasing a developer's changes from the repository to production, where it is usable by customers.