In this self-paced tutorial, you will learn how to use OpenShift Pipelines to automate the deployment of your applications.
In this tutorial, you will:
- Install the OpenShift Pipelines Operator
- Create a Hello World
Task
- Install task resource definitions
- Create a Tekton
Pipeline
- Trigger the created pipeline to finish your application deployment.
Getting started
OpenShift Pipelines is a cloud-native, continuous integration and delivery (CI/CD) solution for building pipelines using Tekton. Tekton is a flexible, Kubernetes-native, open-source CI/CD framework that enables automating deployments across multiple platforms (e.g. Kubernetes, serverless, VMs, and so forth) by abstracting away the underlying details.
OpenShift Pipelines features:
- Standard CI/CD pipeline definition based on Tekton
- Build container images with tools such as Source-to-Image (S2I) and Buildah
- Deploy applications to multiple platforms such as Kubernetes, serverless, and VMs
- Easy to extend and integrate with existing tools
- Scale pipelines on-demand
- Portable across any Kubernetes platform
- Designed for microservices and decentralized teams
- Integrated with the OpenShift Developer Console
Tekton CRDs
Tekton defines some Kubernetes custom resources
as building blocks to standardize pipeline concepts and provide terminology that is consistent across CI/CD solutions. These custom resources are an extension of the Kubernetes API that lets users create and interact with these objects using the OpenShift CLI (oc
), kubectl
, and other Kubernetes tools.
The custom resources needed to define a pipeline are listed below:
Task
: a reusable, loosely coupled number of steps that perform a specific task (e.g. building a container image)Pipeline
: the definition of the pipeline and theTasks
that it should performTaskRun
: the execution and result of running an instance of a taskPipelineRun
: the execution and result of running an instance of a pipeline, which includes a number ofTaskRuns
For further details on pipeline concepts, refer to the Tekton documentation that provides an excellent guide for understanding various parameters and attributes available for defining pipelines.
In the following sections, you will go through each of the above steps to define and invoke a pipeline. Let's get started!
Summary
In this workshop, you have worked with OpenShift Pipelines and learned about underlying Tekton concepts. OpenShift Pipelines provides CI/CD solutions for addressing the fundamentals of CI/CD (i.e., automation of building, testing, and deploying application components) but also offers modern solutions around addressing scale, server maintenance, and making all parts of the CI/CD process highly reusable for any number of application development tasks.
We hope you have found this workshop helpful in learning about OpenShift Pipelines and would love any feedback you have on ways to make it better! Feel free to open issues in this workshop’s GitHub repository, but also reach out to your workshop leaders to share any thoughts on how we can make this a better experience.
Further resources
To learn more about OpenShift Pipelines and Tekton, the resources below can provide information on everything from getting started to more advanced concepts.
OpenShift Pipelines Webpage: https://www.openshift.com/learn/topics/pipelines
OpenShift Pipelines Documentation: https://openshift.github.io/pipelines-docs/docs/index.html
Tekton Official Webpage: https://tekton.dev
Tekton Pipelines GitHub: https://github.com/tektoncd/pipeline
Tekton CLI GitHub: https://github.com/tektoncd/cli
For examples of Tekton pipelines and tasks, visit the tektoncd/catalog GitHub repository: https://github.com/tektoncd/catalog

Steps
Getting Started with OpenShift Pipelines
Step 1 - Install the Pipelines Operator
OpenShift Pipelines are an OpenShift add-on that can be installed via an operator that is available in the OpenShift OperatorHub.
You can either install the operator using the OpenShift Pipelines Operator in the web console or by using the CLI tool oc
. Let's log in to our cluster to make changes and install the operator. You can do so by running:
oc login -u admin -p admin
This will log you in using the credentials:
- Username:
admin
- Password:
admin
Installing the OpenShift Pipelines Operator in Web Console
You can install OpenShift Pipelines using the Operator listed in the OpenShift Container Platform OperatorHub. When you install the OpenShift Pipelines Operator, the Custom Resources (CRs) required for the Pipelines configuration are automatically installed along with the Operator.
Firstly, switch to the Console and login to the OpenShift web console using the same credentials you used above.
In the Administrator perspective of the web console, navigate to Operators → OperatorHub. You can see the list of available operators for OpenShift provided by Red Hat as well as a community of partners and open-source projects.
Use the Filter by keyword box to search for OpenShift Pipelines Operator
in the catalog. Click the OpenShift Pipelines Operator tile.
Read the brief description of the Operator on the OpenShift Pipelines Operator page. Click Install.
Select All namespaces on the cluster (default) for installation mode & Automatic for the approval strategy. Click Subscribe!
Be sure to verify that the OpenShift Pipelines Operator has installed through the Operators → Installed Operators page.
Installing the OpenShift Pipelines Operator using the CLI
You can install OpenShift Pipelines Operator from the OperatorHub using the CLI.
First, you'll want to create a Subscription object YAML file to subscribe a namespace to the OpenShift Pipelines Operator, for example, subscription.yaml
as shown below:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: openshift-pipelines-operator
namespace: openshift-operators
spec:
channel: ocp-4.5
name: openshift-pipelines-operator-rh
source: redhat-operators
sourceNamespace: openshift-marketplace
This YAML file defines various components, such as the channel
specifying the channel name where we want to subscribe, name
being the name of our Operator, and source
being the CatalogSource that provides the operator. For your convenience, we've placed this exact file in your /operator
local folder.
You can now create the Subscription object similar to any OpenShift object.
oc apply -f operator/subscription.yaml
Verify installation
The OpenShift Pipelines Operator provides all its resources under a single API group: tekton.dev. This operation can take a few seconds; you can run the following script to monitor the progress of the installation.
until oc api-resources --api-group=tekton.dev | grep tekton.dev &> /dev/null
do
echo "Operator installation in progress..."
sleep 5
done
echo "Operator ready"
Great! The OpenShift Pipelines Operator is now installed. Now, let's start the workshop.