Tekton
Tekton是一款开源的基于Kubernetes的云原生CI/CD框架,可以基于它开发更适合自己项目和团队的CI/CD工具。
Tekton优势
动态伸缩:Tekton以扩展方式运行在Kubernetes集群上,使用Kubernetes资源模型,天生具有可动态伸缩特性。
复用扩展:Tekton社区维护了一个构建块存储库Tekton Hub,可以使用其中定义的组件快速创建流水线,组件可复用,可按需扩展。
Tekton提供了多种Kubernetes CRD资源对象,用于定义流水线,主要包括:
- Task:表示执行命令的一系列有序的步骤,Task里可以定义一系列的Steps,例如编译代码、构建镜像等。
- Pipeline:一组有序的Task组成的有向无环图,定义了流水线的模板。
- PipelineRun:Pipeline真正执行的实例,下发一个PipelineRun实例到
Kubernetes会触发一次Pipeline的构建。 - TaskRun:Task真正执行的实例,记录任务状态。一个TaskRun会创建一个对应的Pod,每个Step对应Pod中的一个Container。