Tekton Pipelines, the major component in an open-source project for CI/CD (continuous integration and continuous delivery) on Kubernetes, has reached the milestone of beta status.
Tekton was originally Knative Build, what was then one of three major components in the Knative project, the others being serving and eventing. In June 2019, Knative Build was deprecated in favour of Tekton Pipelines. A Tekton pipeline runs tasks, where each task consists of steps running on a container in a Kubernetes pod.
The purpose is to automate the building, testing and deploying of applications as part of a CI/CD process. Tekton includes a dashboard web application for managing pipelines, though there is also a command-line interface which you can use in scripts.
Unlike Knative, Tekton is under the governance of a foundation, in this case the CD Foundation, part of the Linux Foundation. The other CD Foundation graduated projects are Jenkins, Jenkins X and Spinnaker.
Firms that use Tekton include Red Hat in OpenShift Pipelines, Puppet in the forthcoming Project Nebula, Jenkins X, IBM in projects including Kabanero, Rancher's Rio and Google's Cloud Foundry imitator Kf. You can also use Tekton with Google's Application Manager.
Tekton is therefore a significant piece in the Kubernetes ecosystem, and the beta release (codenamed "Ragdoll Norby") means it is one step closer to maturity. "With Tekton Pipelines upgrading to beta, most Tekton Pipelines CRDs (Custom Resource Definition) are now at beta level. This means overall beta level stability can be relied on," the team told us. That said, note that "Tekton Triggers, Tekton Dashboard, Tekton Pipelines CLI and other components are still alpha and may continue to evolve from release to release."
The release marks the introduction of a new Pipelines API version with updated features as well as deprecation notices. The big one for deprecation is PipelineResources, which "have been a source of some contention within the Tekton community over the past several months," according to the release description.
PipelineResources are sets of objects used as input or output to/from a Tekton task. The team stated: "They can often be difficult to understand, hard to debug when they go wrong, and are far too limited in number and scope."
Therefore PipelineResources is not moving to beta but instead will be the subject of a documented migration path. The migration guide explains that PipelineResources will remain supported in the near term. ®