Module 02 · DevOps & CI/CD开发运维与持续集成·持续交付
Reading: Introduction to Tekton and Pipelines阅读:Tekton 与流水线简介
Tekton 和管道简介
预计所需时间:15 分钟
关于本次阅读
本次阅读提供了关于Tekton的基本信息,概述了其优势和构成Tekton管道的基础要素。
什么是 Tekton?
- Tekton 是一个灵活的开源框架,用于创建持续集成和持续交付 (CI/CD) 管道。
- 它为您提供了一套基本的构建模块,您可以使用这些模块来创建 CI/CD 管道。
- 它可以在云服务提供商和本地系统上运行,您可以在任何可以运行 Kubernetes 集群的地方运行 Tekton。
使用 Tekton 的好处
- Tekton 是一个开源项目,它允许您在供应商、语言和部署环境之间标准化您的 CI/CD 工具和流程。
- 许多流行的 CI/CD 工具,如 Jenkins X、Skaffold 和 Knative,都将 Tekton 作为基础。
- Tekton 原生运行在您的 Kubernetes 集群上,消除了对单独 CI/CD 解决方案的需求。
- Tekton 在设计和定制 CI/CD 流水线方面提供了极大的灵活性。
Tekton的概念构建块
事件: 一个外部事件,导致触发器被触发,可能是一个拉取请求或对Git仓库的推送。
触发器: 触发器由事件触发,是启动管道运行的刺激,执行管道。
管道: 管道是一组要执行的任务。管道中的任务数量没有限制,这些任务可以串行或并行执行。
任务: 任务是由一个或多个步骤组成的工作单元。它还可以定义执行步骤所需的参数和存储工件所需的工作区。
步骤: 步骤是执行任务的实际命令,可以是任何脚本或可执行命令,用于构建、测试和部署应用程序。
YAML: YAML不是标记语言(或YAML)是一种人类可读的数据序列化语言,通常用于编写配置文件。用于配置tekton管道的YAML配置文件包括:
- tasks.yaml: 用于指定过程中的单个任务或步骤。
- pipeline.yaml: 概述了自动化构建、测试和部署软件应用程序过程的步骤和配置。
简而言之,“pipeline.yaml”通常定义整个CI/CD管道工作流,而“tasks.yaml”可用于指定过程中的单个任务或步骤,具体用法可能会根据所使用的工具或系统而有所不同。
Tekton的物理构建块
CRD(自定义资源定义)
- Tekton是一组Kubernetes自定义资源定义或CRD。
- 对于每次执行,都会关联一个CRD,包括EventListener、TriggerBinding、TriggerTemplate和PipelineRun。
摘要
从本质上讲,Tekton 的所有内容都是 Kubernetes 原生的,并且一切都在您的 Kubernetes 集群中运行。因此,Tekton 提供了一个全面的、Kubernetes 原生的解决方案,用于构建、部署和管理 CI/CD 管道,促进了不同开发环境之间的灵活性和标准化。