Coursera 笔记

Module 02 · DevOps & CI/CD开发运维与持续集成·持续交付

Reading: Introduction to Tekton and Pipelines阅读:Tekton 与流水线简介

Coursera ↗

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 管道,促进了不同开发环境之间的灵活性和标准化。

恭喜!您已完成本次阅读,并准备好进入下一个主题。