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.

Keep reading

Article

Who is a DevOps engineer?

A DevOps engineer has a unique combination of skills and expertise that enables collaboration, innovation, and cultural shifts within an organization. 

Article

What is CI/CD?

CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration and testing phases to delivery and deployment.

Article

What is DevSecOps?

If you want to take full advantage of the agility and responsiveness of DevOps, IT security must play a role in the full life cycle of your apps.

More on DevOps

Products

Red Hat Open Innovation Labs

An intensive, highly focused residency with Red Hat experts where you learn to use an agile methodology and open source tools to work on your enterprise’s business problems.

Red Hat Consulting

Engagements with our strategic advisers who take a big-picture view of your organization, analyze your challenges, and help you overcome them with comprehensive, cost-effective solutions.

Resources

Checklist

Enterprise automation with a DevOps methodology

Whitepaper

Streamline CI/CD pipelines with Red Hat Ansible Automation Platform