Jenkins v Kubernetes funguje, ale cítíme friction — Groovy scripty, plugin hell, state management. Tekton je Kubernetes-native: pipeline jako CRD, tasky jako pods, vše deklarativní.
Tekton architektura¶
Tekton definuje pipeline primitiva jako Kubernetes CRD: Task (atomická operace), Pipeline (sekvence tasků), PipelineRun (konkrétní spuštění). Vše běží jako Kubernetes pods.
Příklad: build a deploy¶
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: build-deploy
spec:
tasks:
- name: build
taskRef:
name: maven-build
- name: docker
taskRef:
name: kaniko-build
runAfter: [build]
- name: deploy
taskRef:
name: helm-deploy
runAfter: [docker]
Tekton vs. Jenkins¶
Tekton: Kubernetes-native, deklarativní, bez state serveru, ale mladý ekosystém. Jenkins: obrovský ekosystém pluginů, ale legacy architektura, Groovy jako DSL.
Náš verdikt¶
Tekton je slibný, ale ekosystém je zatím malý. Pro nové projekty experimentujeme. Pro existující — Jenkins stále slouží. Sledujeme vývoj Tekton katalogu a UI.
Kubernetes-native CI/CD je budoucnost¶
Tekton ukazuje směr — CI/CD jako Kubernetes resources. Ale zralost Jenkins ekosystému je těžké nahradit přes noc.