Introducing Continuous Integration and Delivery (CI/CD)

Objectives

After completing this lesson, you will be able to:

  • Define continuous integration and delivery (CI/CD)

Continuous Integration and Delivery (CI/CD)

The acronym "CI/CD" combines two proven DevOps concepts for automation as part of application development that build on each other:

  • Continuous Integration (CI)
  • Continuous Delivery (CD)

In this lesson, you'll learn how these terms are defined.

Continuous Integration (CI)

Watch the video below to get an explanation about Continuous Integration and Continuous Delivery.

CI describes a software development process in which various team members integrate their contributions frequently into a single main line. Before each integration, the changes are verified through builds and automated testing. With this, you can detect errors as quickly as possible and prevent integration problems before completing the development.

The Continuous Integration process is based on several basic principles, such as using version control and automating builds, tests, and deployments. You will find out more details about these principles in a later lesson.

The figure below shows the basic flow for Continuous Integration:

The Continuous Integration basic flow comprises the following steps:

  1. The Developer writes code and pushes the code changes into a repository on a central source code management system (SCM).
  2. The Source Code Management System triggers the Continuous Integration (CI) server.
  3. The Continuous Integration server runs automated builds and tests and sends feedback about their outcome to the Developer.

As you can see from the figure above, Continuous Integration is a cycle: as soon as the CI server has sent its feedback to the developer, the flow starts over again. The developers either correct their previous code change, which must then be built and tested again, or start working on an entirely new one.

You will discover more details about the Continuous Integration and delivery process flows in a later lesson.

Continuous Delivery (CD)

The CD concept expands on the one of Continuous Integration. It adds the aspect that any change that has successfully passed the tests is immediately ready to be deployed to production, both from a technical and qualitative point of view.

The following graphic shows the relation between Continuous Integration and Continuous Delivery:

The continuous delivery process makes sure that the most current version of the software product is successfully built, tested, and provided in a shippable format. Based on the release decision by the development team or delivery manager, it can be shipped to customers or deployed to production at any time.

Summary

You now have a basic understanding of continuous integration and delivery and are ready to dig deeper into the topic.

Log in to track your progress & complete quizzes