Tekton - Automating the Future of Software Delivery
This article we discuss about the preliminary ideas of Tekton and how it works
Tekton is a powerful, Kubernetes-native, open-source framework for creating CI/CD systems. Its main focus is on creating flexible pipelines for automating deployments. Tekton Pipelines provide Kubernetes-style resources for declaring CI/CD-style pipelines, and Tekton’s other components provide additional functionality, like managing inputs and outputs, running pipelines on different triggers, and more.

Tekton provides the following benefits to builders and users of CI/CD systems:
Benefits of Tekton
Tekton creates of many CRDs during the time of its installation in Kubernetes Cluster. Below are few Tekton objects which are the building-blocks of a pipeline.
- Tasks: A Task is a collection of Steps that you define and arrange in a specific order of execution as part of our continuous integration flow. In the following example we can see how we can define a step.
apiVersion: tekton.dev/v1beta
kind: Task
metadata:
name: echo-hello-world
spec:
steps:
- name: echo
image: alpine:latest
command:
- sh
args:
- -c
- echo "Hello World"- TaskRun: A TaskRun allows us to instantiate and execute a Task on-cluster.
apiVersion: tekton.dev/v1beta
kind: TaskRun
metadata:
name: echo-hello-world-run
spec:
taskRef:
name: echo-hello-world- Pipelines: A Pipeline is a collection of Tasks that you define and arrange in a specific order of execution as part of your continuous integration flow. Pipeline can consists of one/many tasks as required. It can also be arranged according to our required execution order. Each Task in a Pipeline executes as a Pod on your Kubernetes cluster
apiVersion: tekton.dev/v1beta
kind: Pipeline
metadata:
name: echo-hello-world-pipeline
spec:
tasks:
- name: echo-task
taskRef:
name: echo-hello-world- PipelineRun: A PipelineRun allows you to instantiate and execute a Pipeline on-cluster. A Pipeline specifies one or more Tasks in the desired order of execution. A PipelineRun executes the Tasks in the Pipeline in the order they are specified until all Tasks have executed successfully or a failure occurs.

apiVersion: tekton.dev/v1beta
kind: PipelineRun
metadata:
name: echo-hello-world-pipeline-run
spec:
pipelineRef:
name: echo-hello-world-pipelineWhen to use What
- Task — useful for simpler workloads such as running a test, a lint, or building a image cache. A single Task executes in a single Kubernetes Pod, uses a single disk, and generally keeps things simple.
- Pipeline — useful for complex workloads, such as static analysis, as well as testing, building, and deploying complex projects.
Tekton Hub
Tekton Hub is an online repository designed to facilitate the sharing and discovery of Tekton resources within the community.It basically enables the users to get started quickly with commonly used pre-designed tasks. We can have a look in the hub website for details.
In Conclusion , Tekton represents a significant stride towards more efficient and scalable CI/CD processes, and an important step in advancing cloud-native application development. As a Kubernetes-native, open-source solution, Tekton harnesses the best of Kubernetes’ scalability and reliability, offering a flexible and powerful way to automate deployment pipelines.