Tekton Concepts
Internal
Overview
Tekton is a cloud-native solution for building CI/CD pipelines. Tekton installs and runs as an extension on your Kubernetes cluster and uses the well-established Kubernetes resource model. Tekton workloads execute inside Kubernetes containers. It has several components: Tekton Pipelines, Tekton CLI and Tekton Catalog. Tekton is part of the CD Foundation, a Linux Foundation project. It is implemented as a set of Kubernetes Custom Resources. Once deployed, Tekton can be accessed via Tekton CLI commands or API calls.
Tekton Domain Model
Task
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: hello
spec:
steps:
- name: echo
image: alpine
script: |
#!/bin/sh
echo "Hello World"
Task Operations
TaskRun
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
name: hello-task-run
spec:
taskRef:
name: hello
TaskRun Operations
Pipeline
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: task1
spec:
steps:
- name: echo
image: alpine
script: |
#!/bin/sh
echo "this is Task 1 output"
---
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: task2
spec:
steps:
- name: echo
image: alpine
script: |
#!/bin/sh
echo "this is Task 2 output"
---
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: simple-pipeline
spec:
tasks:
- name: task1
taskRef:
name: task1
- name: task2
runAfter:
- task1
taskRef:
name: task2
PipelineRun
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
name: simple-pipeline-run
spec:
pipelineRef:
name: simple-pipeline
PipelineRun Operations
Tekton Components
Tekton Pipelines
Tekton Pipelines is the foundation of Tekton. It is implemented as a set of Kubernetes Custom Resources.
Tekton Pipeline Operations
Tekton CLI
Tekton CLI provides the command interface called tkn
.
Tekton CLI Operations
Tekton Catalog
Tekton Catalog is a repository of community-contributed Tekton building blocks.
Tekton Hub
Tekton Hub is a web GUI to access Tekton Catalog.
Tekton Triggers
Tekton Triggers allows instantiating pipelines based on events (a PR merge, etc.)
Tekton Dashboard
Tekton Dashboard is the web GUI that displays information about pipeline execution.
Building Block
Tekton documentation refers to "building blocks". Those are ...