Skip to main content
Tekton is a Kubernetes-native CI/CD system that runs entirely inside your cluster. Controllers, pipeline and task definitions, and their executions (TaskRuns and PipelineRuns) are Kubernetes custom resources — there is no separate external CI server to manage. Key concepts: Useful links:
Before creating Tasks and Pipelines, make sure Tekton Pipelines controllers and webhook are installed in the tekton-pipelines namespace and that you have a working tkn CLI. Also create the namespace you will use for your CI resources:

Verifying Tekton control plane

Check the Tekton Pipelines namespace to ensure the controllers and webhook pods are running:
Example output:
That minimal set (controllers + webhook — dashboard optional) is required to run Tekton pipelines in your cluster.

Creating a minimal Task

Start with a simple Task that runs one step and prints a message. Save this as hello-task.yaml:
Apply the Task and run a TaskRun using tkn:
Example sequence and output:
This demonstrates a TaskRun: the runtime object that spawned a pod to execute the Task’s steps.

Parameterizing a Task

Make the Task reusable by adding a parameter. Update hello-task.yaml to include a message parameter:
Apply the updated Task:
Start a TaskRun that uses the default parameter:
Output:
Pass a custom value using -p:
Output:

A Task with multiple steps

Real CI jobs typically include multiple sequential steps (clone, build, test). Group related steps into one Task when appropriate — here is build-task.yaml:
Apply the Task:
Start a TaskRun and pass the app-name parameter:
Example output:
Steps run sequentially (top to bottom) within a Task.

Creating a deploy Task

Keep deployment logic separate as its own Task. Save as deploy-task.yaml:
Apply the Task:

Wiring Tasks together with a Pipeline

Compose build-task and deploy-task into a Pipeline so they run in sequence. Save as ci-pipeline.yaml:
Apply the Pipeline:
Start a PipelineRun with parameters and follow logs:
You should see the build TaskRun run its clone, build, test steps first, then the deploy TaskRun execute. Example condensed output:

Tekton Dashboard

Tekton provides a web dashboard where you can visualize Pipelines, PipelineRuns, Tasks, and TaskRuns. The dashboard lets you inspect logs, view parameters and statuses, and start runs from the UI.
A dark-themed Tekton Dashboard screenshot showing the "About Tekton" page with a left navigation menu (Pipelines, Tasks, etc.), environment detail cards, and documentation/resource tiles. The top right features a stylized Tekton mascot graphic.
The Dashboard displays pipelines, pipeline runs, tasks, and TaskRuns — everything you can manage from the CLI is visible here.
A screenshot of the Tekton Dashboard showing the Tasks page with three entries — build-task, deploy-task, and hello-task — all in the "ci-pipelines" namespace with their creation times. The left sidebar shows navigation items like Pipelines, PipelineRuns, StepActions, and Tasks.
You can click into runs to view logs, passed parameters, pod details, and more.
If your cluster uses strict RBAC or network policies, ensure the Tekton webhook and controllers have the required permissions. Webhook admission failures can prevent TaskRun and PipelineRun pods from being created.

Summary

  • Tasks group sequential steps executed in container images.
  • Parameters make Tasks reusable and configurable.
  • Pipelines compose Tasks and control ordering with runAfter and parameter/result wiring.
  • TaskRuns and PipelineRuns are runtime objects that create pods and execute steps.
  • The Tekton dashboard provides a visual interface to inspect and trigger runs.
References

Watch Video

Practice Lab