Overview
A continuous integration and continuous deployment (CI/CD) pipeline is a series of steps that must be performed 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, organizations are able to develop higher quality code, faster and more securely. 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.
What’s a CI/CD pipeline?
A pipeline is a process that drives software development through a path of building, testing, and deploying code, also known as CI/CD. By automating the process, the objective is to minimize human error and maintain a consistent process for how software is released. Tools that are included in the pipeline could include compiling code, unit tests, code analysis, security, and binaries creation. For containerized environments, this pipeline would also include packaging the code into a container image to be deployed across a hybrid cloud.
CI/CD is the backbone of a DevOps methodology, bringing developers and IT operations teams together to deploy software. As custom applications become key to how companies differentiate, the rate at which code can be released has become a competitive differentiator.
Containers and CI/CD pipelines
Traditional CI/CD systems are designed for pipelines that use virtual machines, but cloud-native application development brings advantages to CI/CD pipelines.
What does a CI/CD pipeline with containers look like?
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.
What is Red Hat OpenShift Pipelines?
Red Hat® OpenShift® Pipelines is a Kubernetes-native CI/CD solution which builds on Tekton to provide a CI/CD experience through tight integration with OpenShift and Red Hat developer tools. OpenShift Pipelines is designed to run each step of the CI/CD pipeline in its own container, allowing each step to scale independently to meet the demands of the pipeline.
Red Hat OpenShift Pipelines features
Kubernetes-native pipelines
Use standard Tekton 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, command-line interfaces, and integrated development environments.
Learn how to use Red Hat OpenShift Pipelines to automate application deployment.
What is Tekton?
Tekton provides an open source 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. By leveraging 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, Knative, and OpenShift.