Skip to content

CICD

Continuous integration (CI) and continuous delivery (CD) are two DevOps practices that are closely related. CI is the process of automating the integration of code changes into a central repository, while CD is the process of automating the deployment of those code changes to production.

Continuous Integration

CI is the practice of automatically integrating code changes into a central repository. This ensures that all developers are working on the same codebase and that any conflicts are detected and resolved early. CI is often done using a CI/CD pipeline.

A CI/CD pipeline is a collection of automated steps that build, test, and package code. The pipeline typically consists of the following stages:

  • Source code checkout: The source code is checked out from a version control system.
  • Build: The source code is built into an executable or artifact.
  • Test: The built artifact is tested to ensure that it meets the required quality standards.
  • Package: The built artifact is packaged and version controlled for the CD process to use.

Note

CI/CD pipelines can be automated using tools such as Jenkins, GitHub Actions or cloud based tools like AWS Code Build, Code Deploy and Pipeline

Continuous Delivery

CD is the practice of automating the deployment of code changes to production. This means that any changes made to the codebase are automatically deployed to production without manual intervention. CD is essential for DevOps because it allows organizations to deliver software updates more frequently and reliably.

There are two main approaches to CD:

  • Blue/green deployments: In a blue/green deployment, two identical production environments are maintained. The new code is deployed to the green environment, and then traffic is gradually shifted from the blue environment to the green environment.
  • Canary deployments: In a canary deployment, a small percentage of users is exposed to the new code first. If there are any problems, the new code can be rolled back to the blue environment without affecting the majority of users.

Note

CD is a powerful tool that can help organizations to deliver software faster and with fewer errors. However, it is important to implement CD carefully to avoid outages and other disruptions.

Released under the MIT License. Some of the contents are generated using Gen AI