What is a CI/CD pipeline?

Copy URL

A continuous integration and continuous deployment (CI/CD) pipeline is a series of established steps that developers must follow in order to deliver a new version of software. CI/CD pipelines are a practice focused on improving software delivery throughout the software development life cycle via automation.

By automating CI/CD throughout development, testing, production, and monitoring phases of the software development lifecycle, teams are able to develop higher quality code, faster and more securely. Automated testing also allows dependencies and other issues to be identified earlier in the software development lifecycle, saving time later. Although it’s possible to manually execute each of the steps of a CI/CD pipeline, the true value of CI/CD pipelines is realized through automation.

CI/CD pipelines have advantages for software organizations that use virtual machines as well as container-based cloud-native applications. With the ability to more quickly integrate updates and changes to code, teams can respond to user feedback and business changes frequently and effectively, leading to positive outcomes for end users. 

CI/CD pipelines, which streamline and accelerate software development, are a reflection of DevOps methodology, a set of ideas and practices that fosters collaboration between developers and IT operations teams.

The CI side of CI/CD refers to continuous integration, which includes building, testing, and merging code. The CD side can stand for continuous delivery, which includes automatically releasing software to a repository. CD can also stand for continuous deployment, which adds the step of automatically deploying software to production.

A CI/CD pipeline guides the process of software development through a path of building, testing, and deploying code. By automating the processes that support CI/CD, development and operations teams can minimize human error and maintain a consistent process for how software is released. Pipelines can include tools for compiling code, unit tests, code analysis, security, and binaries creation. For containerized environments, pipelines will also include tools for packaging the code into a container image to be deployed across a hybrid cloud.

Both CI/CD and DevOps focus on automating processes of code integration, thereby speeding up how an idea (like a new feature, a request for enhancement, or a bug fix) goes from development to deployment in a production environment where it can provide value to the user. Developers, usually coding in a standard development environment, work closely with IT operations to speed software builds, tests, and releases—without sacrificing reliability.

The state of application modernization

Tekton is a Knative-based framework to create cloud-native CI/CD pipelines quickly. As a Kubernetes-native framework, Tekton makes it easier to deploy across multiple cloud providers or hybrid environments.

Tekton allows components to be reused across multiple pipelines, through the use of 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 Knative and OpenShift.

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

Blog: Tekton vs. Jenkins: What's better for CI/CD pipelines?

Without proper security, a rapid development and deployment process can expose an organization to risks. Common risks can include revealing sensitive data to outside sources, incorporating insecure code or third party components, or exposing source code repositories or build tools to unauthorized access.

Automated checks and testing within a CI/CD pipeline can safeguard code and prevent vulnerabilities in software delivery. Incorporating security into a pipeline helps to protect code from attack, prevent data leaks, comply with policies, and ensure quality assurance. Identifying and mitigating vulnerabilities throughout the development cycle assures that code changes are thoroughly tested and adhere to security standards before they are deployed to production.

Read more about CI/CD security

Red Hat® OpenShift® Pipelines is a Kubernetes-native solution which builds on Tekton and provides tight integration with OpenShift and Red Hat developer tools. Administrators and developers can create pipeline blueprints for applications that are based on their organization’s unique business and security requirements.

OpenShift Pipelines is designed to run each step of the pipeline in its own container, allowing each step to scale independently to meet the demands of the pipeline.

OpenShift Pipelines is available with an OpenShift subscription and natively integrates with the OpenShift console, allowing developers to configure and execute pipelines directly alongside their applications.

Red Hat OpenShift Pipelines features

Kubernetes-native pipelines
Use standard Tekton Custom Resource Definitions (CRDs) to define pipelines that run as containers and scale on demand.

Runs serverless
Get full control over your team’s delivery pipelines, plugins and access control with no central CI/CD server to manage.

Integrated CI/CD experience
Get a streamlined user experience through the Red Hat OpenShift console developer perspective, including the Pipeline Builder visual interface, as well as command-line interfaces and integrated development environments.
 

Explore the Red Hat OpenShift Pipelines documentation

Our experts can help your organization develop the practices, tools, and culture needed to more efficiently modernize existing applications and accelerate your cloud-native application development journey.

Red Hat OpenShift, along with Red Hat OpenShift Pipelines, helps organizations improve developer productivity, automate CI/CD pipelines, and shift their security efforts earlier and throughout the development cycle.

Red Hat OpenShift GitOps is an operator that provides a workflow that integrates git repositories, continuous integration/continuous delivery (CI/CD) tools, and Kubernetes to realize faster, more secure, scalable software development, without compromising quality. OpenShift GitOps enables customers to build and integrate declarative git driven CD workflows directly into their application development platform.

Red Hat tools can also help with CI/CD security. Red Hat Advanced Cluster Security (ACS) for Kubernetes helps protect containerized Kubernetes workloads in all major clouds and hybrid platforms, including Red Hat OpenShift, Amazon Elastic Kubernetes Service (EKS), Microsoft Azure Kubernetes Service (AKS), and Google Kubernetes Engine (GKE). Red Hat Trusted Software Supply Chain offers a suite of security solutions that focus on the security of software components and dependencies early in the software development lifecycle, and well into the build and release pipelines to audit and act on security issues. Included with these solutions are Red Hat Trusted Profile Analyzer, which manages Software Bills of Materials (SBOMs) and vulnerability remediation information, and Red Hat Trusted Application Pipeline, which provides default pipeline definitions and automated security checks to generate Supply chain Levels for Software Artifacts (SLSA) Level 3 build images.

To help automate workflows, Red Hat Ansible® Automation Platform includes all the tools you need to implement automation across your organization, including an event-driven solution, analytics, and pre-built content collections. With its common YAML-based language and desired-state approach, you can use the same automation content for everyday operations as well as your CI/CD pipeline. And because it works with nearly all aspects of your IT infrastructure, you can more easily and quickly deploy consistent development, test, and production environments, increasing the reliability and resiliency of your applications.

Ansible Automation Platform also integrates with Red Hat Advanced Cluster Management for Kubernetes, allowing you to orchestrate Kubernetes clusters within your CI/CD pipeline. You can also use the human-readable automation language to more easily build and maintain Red Hat OpenShift operators.

Learn more about how automation supports CI/CD pipelines

Developer productivity with Red Hat technologies

Find out how Red Hat technologies work together to support developer productivity.

Getting started with CI/CD pipeline security

Download to learn about each aspect of securing your CI/CD pipeline and the 9-step process for ensuring a strong security posture.

Keep reading

What are platform engineering tools?

Platform engineering tools are resources to support and enable development teams to improve productivity using a self-service approach.

What is multi-cloud GitOps?

GitOps is a set of principles that guide your workflow and enables you to implement continuous deployment (CD) for cloud native applications. It helps you manage your cluster configuration and application deployments by introducing automation to a previously manual process.

What is a GitOps workflow?

GitOps is a modern software development and deployment approach where the entire infrastructure and application lifecycle is managed through Git repositories as the single source of truth.

DevOps resources