Continuous Integration (CI) And Continuous Delivery (CD)

What Is Continuous Integration And Continuous Delivery(CI/CD) ?

  • Continuous integration and Continuous Delivery(CI/CD) are the processes, where your development team involves frequent code changes that are pushed in the main branch while ensuring that it does not impact any changes made by developers working in parallel.

  • The aim of it is to reduce the chance of defects and conflicts during the integration of the complete project.

    CI&CD lifecycle - edureka

Continuous Integration (CI)

What Is Continuous Integration?

  • Continuous Integration is a development methodology that involves frequent integration of code into a shared repository.
  • The integration may occur several times a day, verified by automated test cases and a build sequence.

Integration

  • Integration is merging all the code together from all the contributing developers or from all the features.

Benefits of Continuous Integration(CI)

  • Early Bug Detection
  • Reduces Bug Count
  • Automating the Process

Continuous Delivery(CD)

What is Continuous Delivery(CD)?

  • Continuous delivery is the process of getting all kinds of changes to production. Changes may include configuration changes, new features, error fixes etc. They are delivered to the user in a safe, quick and sustainable manner.
  • The goal of Continuous Delivery is to make deployment predictable and scheduled in a routine manger. It is achieved by ensuring that the code always remains in a state where it can be deployed whenever demanded, even when an entire team of developers is constantly making changes to it.
  • Unlike continuous integration, testing and integrating phases are eliminated and the traditional process of code freeze is followed.

Benefits of Continuous Delivery

  • Reducing the Risk
  • High-Quality Application
  • Reduced Cost

Continuous Integration and Continuous Delivery Tools

  • Jenkins is used to automate the whole process starting from graping the code from the repository in scheduled times using git, build it using maven, send it to the testing environments and test it using selenium, deploy it in a container using docker, and many other tools to automate everything.

    ci cd tools

Resources