The paradigm shift to cloud and cloud-native applications has driven most teams and organizations to adopt Continuous Integration and Continuous Delivery (CI/CD) practices and more automation in their software delivery process. As more applications move to Kubernetes and container platforms, using the traditional CI/CD systems that were designed for virtual machines have proved to be challenging and require extra operational efforts to be spent on maintaining the CI/CD system rather than the delivery pipelines.
OpenShift Pipelines is a cloud-native CI/CD solution based on Tekton. Tekton is a Continuous Delivery Foundation (CDF) project, which is designed from the ground up for Kubernetes and container platforms. It enables developers to build CI/CD pipelines as containers that run and scale on-demand. We are thrilled to announce that the OpenShift Pipelines is available as a Technical Preview feature on OpenShift Container Platform 4.4. Development teams can now create and run cloud-native CI/CD pipelines using the following OpenShift Pipelines capabilities:
- Kubernetes-native pipelines: Define CI/CD pipelines using Tekton custom resources, which can take advantage of Kubernetes-native access control and resource scheduling with granular controls on compute, volumes, etc., to be used by the pipelines. Furthermore, the pipeline definitions are portable across all Kubernetes platforms that run Tekton.
- Run pipelines in containers: Each pipeline runs in an isolated pod with all the dependencies required to avoid conflicts between pipelines and each team's requirements.
- Serverless CI/CD: Run pipelines as a capability of the platform without the operational overhead of maintaining and nurturing a central server. Development teams can focus on and own the delivery pipelines for their applications and not worry about managing a CI server.
- Portable to any Kubernetes: Building on top of Tekton and adopting the standard Tekton custom resources brings portability to developers and allows them to run their pipelines on any Kuberentes locally, on-premises or in the public cloud.
- Curated Task library: A set of reusable Tasks such as Source-to-Image (S2I), Buildah, Knative CLI, Maven, and more to enable developers to build pipelines based on existing components on the platform and reduce the complexity of composing pipelines.
OpenShift Pipelines is available on OpenShift OperatorHub and can be installed on the cluster through the OpenShift Pipelines Operator that streamlines installation and updates of the OpenShift Pipelines on the cluster.
OpenShift is the Kubernetes platform for developers and therefore providing a developer-focused user-experience for using Tekton is one of the top priorities for OpenShift Pipelines. The Developer perspective in the OpenShift Console assists developers with onboarding their existing applications from a Git repository into OpenShift and starts them off with a CI/CD pipeline that builds and deploys their application:
Developers who want to create more complex CI/CD pipelines can take advantage of the Pipeline Builder, which is a visual pipeline editor for creating pipelines based on a curated library of Tekton Tasks that are available on OpenShift. Furthermore, developers can add their own custom Tekton Tasks to this library and build pipelines using their custom Tasks.
Tekton CLI is a powerful command-line interface for interacting with pipelines on OpenShift. It enables developers to inspect pipelines, tasks, and other pipelines resources as well as explore pipeline and task logs.
For developers who use Visual Studio Code and IntelliJ, the Tekton Pipelines extension brings visibility into the pipelines associated with the project right within the code editor so that developers do not have to switch context during coding for starting project CI/CD pipelines or viewing their progress.
You can find more information on OpenShift Pipelines on the following resources:
- OpenShift Pipelines 1.0 Release Notes
- OpenShift Pipelines Overview Slides
- OpenShift Pipelines Documentation
- Getting Started with OpenShift Pipelines
- OpenShift Pipelines Tutorial
- Tekton Project Documentation
- Download Tekton CLI