CI/CD oltre Jenkins
Jenkins (2004+) è stato lo standard CI/CD per due decadi, ma il suo modello master-worker non è cloud-native: plugin Java fragili, state su file system, scalabilità manuale. Servono pipeline come CRD Kubernetes, esecutori ephemeral su pod, declarative, riusabili.
Il rilascio
Tekton nasce nel 2018 come parte di Knative Build. Separato come progetto autonomo nel marzo 2019. Donato alla CDF (Continuous Delivery Foundation, Linux Foundation) nel marzo 2019 insieme a Jenkins, Jenkins X, Spinnaker. Licenza Apache 2.0. Scritto in Go.
Architettura
Tekton definisce CRD K8s:
- Task — unità di lavoro composta da
steps(container image + comando) - TaskRun — esecuzione istanza di Task
- Pipeline — grafo di Task con dipendenze
- PipelineRun — esecuzione di Pipeline
- Workspace — volume condiviso tra step
- Trigger — webhook/evento → PipelineRun
- EventListener — endpoint HTTP per eventi
apiVersion: tekton.dev/v1
kind: Task
metadata: { name: build-image }
spec:
steps:
- name: build
image: gcr.io/kaniko-project/executor
command: [/kaniko/executor]
args: [--destination=$(params.image)]
Componenti
- Tekton Pipelines — core
- Tekton Triggers — webhook → pipeline
- Tekton Dashboard — UI
- Tekton CLI (tkn) — CLI
- Tekton Chains — attestazioni SLSA/Sigstore supply chain
- Tekton Results — storage storia esecuzioni
- Tekton Hub — catalogo Task/Pipeline community
- Tekton Operator — installazione componenti
Tekton Catalog
Task riusabili standard:
- git-clone — checkout sorgenti
- kaniko, buildah, docker — build container
- helm-upgrade, kubectl — deploy K8s
- trivy — security scan
- sonarqube — quality analysis
Distribuzioni enterprise
- Red Hat OpenShift Pipelines — Tekton su OpenShift, supporto enterprise
- Jenkins X — GitOps + Tekton
- IBM Cloud Continuous Delivery
- Google Cloud Build — alcune componenti derivate
Concorrenti
- GitHub Actions — SaaS-first, ora anche self-hosted runners
- GitLab CI/CD — integrato nel prodotto
- ArgoWorkflows — simile, più orchestration generica
- Jenkins Pipelines — legacy
- CircleCI, Travis CI, Drone CI — SaaS
Nel contesto italiano
Tekton è usato in:
- Ambienti OpenShift italiani (banche, PA, aziende enterprise)
- Team piattaforma che vogliono CI/CD cloud-native senza SaaS
- Multi-tenant CI — cluster K8s che servono molti team
- Supply chain governance — Tekton Chains per SLSA attestations
Meno popolare di GitHub Actions in SaaS, ma dominante negli ecosistemi Red Hat/IBM italiani.
Riferimenti: Tekton (marzo 2019, CDF). Origine Knative Build (Google). Licenza Apache 2.0. Scritto in Go. CRD: Task, Pipeline, Workspace, Trigger. Distribuzioni: OpenShift Pipelines, Jenkins X, IBM Cloud.
