Getting Started with Pipelines

Create and run your first Tekton Pipeline

This tutorial shows you how to:

  • Create two Tasks.
  • Create a Pipeline containing your Tasks.
  • Use PipelineRun to instantiate and run the Pipeline containing your Tasks.

For this tutorial we are going to use minikube to run the commands locally.


  1. Complete the Getting started with Tasks tutorial. Do not clean up your resources, skip the last section.

  2. Install tkn, the Tekton CLI.

Create and run a second Task

You already have a Hello World! Task. To create a second Goodbye World! Task:

  1. Create a new file named goodbye-world.yaml and add the following content:

    kind: Task
      name: goodbye
        - name: goodbye
          image: ubuntu
          script: |
            echo "Goodbye World!"        
  2. Apply your Task file:

    kubectl apply --filename goodbye-world.yaml

When a Task is part of a Pipeline you don’t have to instantiate it, the Pipeline is going to take care of that.

Create and run a Pipeline

A Pipeline defines an ordered series of Tasks arranged in a specific execution order as part of your CI/CD workflow.

In this section you are going to create your first Pipeline, that will include both the Hello World! and Goodbye World! Tasks.

  1. Create a new file named hello-goodbye-pipeline.yaml and add the following content:

    kind: Pipeline
      name: hello-goodbye
        - name: hello
            name: hello
        - name: goodbye
            - hello
            name: goodbye
  2. Apply your Pipeline configuration to your cluster:

    kubectl apply --filename hello-goodbye-pipeline.yaml
  3. Instantiate your Pipeline with a PipelineRun object. Create a new file named hello-goodbye-pipeline-run.yaml with the following content:

    kind: PipelineRun
      name: hello-goodbye-run
        name: hello-goodbye
  4. Start your Pipeline by applying the PipelineRun configuration to your cluster:

    kubectl apply --filename hello-goodbye-pipeline-run.yaml

    You see the following output: created

    Tekton now starts running your Pipeline.

  5. To see the logs of the PipelineRun, use the following command:

    tkn pipelinerun logs hello-goodbye-run -f -n default

    The output shows both Tasks completed successfully:

    [hello : hello] Hello World!
    [goodbye : goodbye] Goodbye World!


To delete the cluster that you created for this quickstart run:

minikube delete

The output confirms that your cluster was deleted:

🔥  Deleting "minikube" in docker ...
🔥  Deleting container "minikube" ...
🔥  Removing /home/user/.minikube/machines/minikube ...
💀  Removed all traces of the "minikube" cluster.

Further reading

Other useful resources

Last modified July 19, 2022: Editorial review (3d32a32)