TektonCD: A Kubernetes-native pipeline resource
https://kurtmadel.com/posts/cicd-with-kubernetes/tekton-standardizing-native-kubernetes-cd/
- Part of CD foundation https://cd.foundation
- Golang
- Run on Kubernetes, k8s - first class citizen
- Apache-2.0 license
- Concepts:
- Task - (k8s resource) work to be executed. Individually, or part of Pipeline
- Runs as a Pod in k8s cluster
- Each step in a separate container
- TaskRun - (k8s resource) runs the Task
kubectl get taskruns/mytask -o yaml
- to get results
- PipelineResources - to define resources to be passed in/out of a task
- types: git, image, cluster, storage
- all the resources are used in tasks
- Pipeline - list of tasks to execute in order
- previous results could be used as input for the next task
- PipelineRun - to execute a Pipeline
- PipelineRun will create TaskRun for the each Tasks
- More features
- Rich Auth capabilities
- DAG (directed acyclic graph) of execution
- Roadmap
- Notifications to Slack, email, Github PR, …
- Retries
- Triggers
- IMHO
- Good basement for a rich CD systems
- Can’t be used by itself
- Jenkins X Pipelines uses Tekton