Describing Continuous Integration, Delivery and Deployment

Objectives

After completing this lesson, you will be able to:

  • Describe the continuous concepts
  • Illustrate the CI/CD process

Continuous Concepts

The CI/CD Pipeline, Term Definition

An important purpose in software development is to automate as many steps as possible in order to minimize manual effort. With continuous concepts, there are a variety of ways to achieve this:

Continuous Integration

Each of the different Continuous X types do not stand isolated or side by side, instead they build upon each other. Continuous Integration is the foundation, which includes several principles. Ultimately, there is always a stable build available. Continuous Integration is the concept of merging code changes in one combined software project. Continuous Integration then triggers the automated test routines and software builds from this single code line.

Continuous Delivery

On top of Continuous Integration is Continuous Delivery. While a stable build is always available with CI, Continuous Delivery defines the software in such a way that it is ready for deployment on the production system. The deployment can either be triggered manually (for example by pressing a button), or automatically, as a consequence of another conscious decision (for example, automatically after committing changes into the main line of the project's version control system).

Facts about Continuous Delivery:

  • Software is ready for deployment to productive system all the time.
  • The trigger for deployment to a productive system is a human decision.
  • Feedback from productive system gets quickly integrated into teams' backlog.
Continuous Deployment

On top of the Continuous Delivery, Continuous Deployment means that the deployment to the productive system is triggered with each committed change to the code. It is important to be aware that Continuous Delivery and Continuous Deployment are sometimes not clearly separated, which means that some sources (like blogs, books, and so on) talk about Continuous Deployment while they mean Continuous Delivery. To avoid misunderstandings, you should always clarify these definitions when talking about CI/CD.

Deployment to the productive system is triggered automatically (instead of manual deployment as in Continuous Delivery).

Note
In addition to Continuous Integration, Continuous Delivery, and Continuous Deployment, there are also others that exist, such as Continuous Testing or Continuous Development as an umbrella term.

However, the first three described concepts, which form the acronym CI/CD, are relevant in this lesson: "CI" stands for Continuous Integration, while the "CD" can stand for either Continuous Delivery or Continuous Deployment.

But before diving deeper, let's clarify the question: what is a pipeline? At its simplest, it is a series of activities that are carried out in a predefined order. Together, Continuous Integration, Continuous Delivery, and Continuous Deployment form the important concept of the CI/CD pipeline with the goal of the best possible automation in software development and reduction of manual effort.

The CI/CD Process

The CI/CD Pipeline

Putting all these pieces together, you can create a fully automated pipeline to build, test, and deploy your application.

In short, Continuous Integration (CI) is the adoption of agile principles while Continuous Delivery/Deployment (CD) is a combination of agile methodology techniques and a high-quality delivery process. The goal is to validate each change (commit), preferably in an automated way, so that it can be delivered in a reliable manner.

For more information about SAP Continuous Integration and Delivery service in SAP Discovery Center, see: https://discovery-center.cloud.sap/serviceCatalog/continuous-integration--delivery?region=all

More information: https://help.sap.com/viewer/8cacec64ed854b2a88e9a0973e0f97a2/Cloud/en-US/e9fa320181124fa9808d4446a1bf69dd.html.

Key Takeaways Of This Lesson

The term CI/CD stands for Continuous Integration, Continuous Delivery and Continuous Deployment. Each step performs an important task in the automation and together they form the CI/CD pipeline. This is a series of activities to build, test and deploy your application. SAP is also creating tools to helping you to set up your CI/CD pipelines.

Log in to track your progress & complete quizzes