Pipelines concepts

The Custom Resource Definitions (CRDs) provided by OpenShift Pipelines include: Task,Pipeline,PipelineRun, TaskRun, and PipelineResource.

  • A Task is the smallest configurable unit in a Pipeline and is essentially a function of inputs and outputs that inform the Pipeline build. It can run individually or as a part of a Pipeline. A Pipeline includes one or more Tasks, with a Task consisting of one or more steps. Steps are a series of commands that are sequentially executed by the Task.

  • A Pipeline is a series of Tasks that are executed to build complex workflows that automate the build, deployment and delivery of applications. It is a collection of PipelineResources,Parameters, and one or more Tasks. A Pipeline interacts with the outside world, by using PipelineResources, which are given to Tasks as inputs and outputs.

  • A PipelineRun is used to run and manage the execution of the Pipeline. PipelineRun initiates the creation of a TaskRun for each Task being executed in the Pipeline.

  • TaskRun is auto-created by a PipelineRun for each Task in a Pipeline and results from running an instance of a Task. It can also be manually created if a Task runs outside of a Pipeline.

  • A PipelineResource is an object that is used as an input and output for pipeline Tasks. For example, if an input is a Git repository and an output is a container image built from that Git repository, these are both classified as PipelineResources. PipelineResources currently support Git Resources, Image Resources, Cluster Resources, and Storage Resources.

tekton architecture

Additional resources