Log in / Register Account
Jump to section

What is a CI/CD pipeline?

Copy URL

A CI/CD pipeline is a series of steps that must be performed in order to deliver a new version of software. Continuous integration/continuous delivery (CI/CD) pipelines are a practice focused on improving software delivery using either a DevOps or site reliability engineering (SRE) approach.

A CI/CD pipeline introduces monitoring and automation to improve the process of application development, particularly at the integration and testing phases, as well as during delivery and deployment. Although it is possible to manually execute each of the steps of a CI/CD pipeline, the true value of CI/CD pipelines is realized through automation.

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

  • Build - The stage where the application is compiled.
  • Test - The stage where code is tested. Automation here can save both time and effort.
  • 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. Image security scanning tools, like Clair, can ensure the quality of images by comparing them to known vulnerabilities (CVEs).
     

CI/CD Flow

This is by no means a comprehensive list of pipeline stages. This list is just an example of common stages you may find. Your pipeline will be unique to the requirements of your organization.

Traditional CI/CD systems are designed for pipelines that use virtual machines, but cloud-native app dev brings advantages to CI/CD pipelines. What does a CI/CD pipeline with containers look like?

 

Using the open source Tekton project you can build Kubernetes-style delivery pipelines that can control the complete lifecycle of microservices without having to rely on central teams to maintain and manage a continuous integration server, plugins, and configuration.

OpenShift Pipelines is a feature of Red Hat OpenShift built on Tekton, an open source project that provides a framework to create cloud-nativeCI/CD pipelines quickly. Tekton is a CI/CD framework for Kubernetes platforms that provides a standard cloud-native CI/CD experience with containers. As a Kubernetes-native framework, Tekton makes it easier to deploy across multiple cloud providers or hybrid environments. By making use of the Custom Resource Definitions (CRDs) in Kubernetes, Tekton uses the Kubernetes control plane to run pipeline tasks. By using standard industry specifications, Tekton will work well with existing CI/CD tools such as Jenkins, Jenkins X, Skaffold, and Knative.

The building blocks of your CI/CD pipeline

Red Hat Openshift

A container and Kubernetes platform for faster deployment of cloud-native applications.

Red Hat Ansible Automation Platform

CI/CD requires custom coding and working with multiple software packages. Red Hat Ansible Automation Platform is an open source automation language with all these capabilities in one composition.

Illustration - mail

Get more content like this

Sign up for our free newsletter, Red Hat Shares.