CI/CD 流水线系统-开源框架Tekton

文章目录

  • [CI/CD 流水线系统-开源框架Tekton](#CI/CD 流水线系统-开源框架Tekton)

CI/CD 流水线系统-开源框架Tekton

什么是Tekton

官网:https://tekton.dev/

Tekton 是一个强大、灵活的构建 CI/CD 流水线系统的开源框架,允许开发者构建、测试和发布应用。

Tekton is a powerful and flexible open-source framework for creating CI/CD systems, allowing developers to build, test, and deploy across cloud providers and on-premise systems. Get started with Tekton.

Tekton是一个强大而灵活的开源框架,用于创建CI/CD系统,使开发人员能够在云提供商和本地系统上构建,测试和部署。开始使用Tekton。

Tekton优点

可移植性: 跨平台、语言、和部署环境。它适用于 Jenkins、Jenkins X、Skaffold、 Knative 和许多其他流行的 CI/CD 工具。

可定制:Tekton 实体是完全可定制的,从而具有高度的灵活性。平台工程师可以定义非常详细的构建基目录,以供开发人员在各种情况下使用

可重复使用:Tekton 实体是完全可移植的,因此一旦定义,组织内的任何人都可以使用给定的管道并重用其构造块。这使开发人员可以快速构建复杂的管道,而无需"重新发明轮子"。

可扩展:Tekton Catalog是Tekton社区驱动的存储库。您可以使用Tekton目录中的预制组件快速创建新的并展开现有管道。

标准化:Tekton 在您的Kubernetes集群上作为扩展安装并运行,并使用成熟的 Kubernetes 资源模型, 其工作负载在 Kubernetes 容器内执行。

缩放性:为了增加工作负载容量,您可以简单地将节点添加到群集, Tekton 随集群一起扩展 无需重新定义资源分配或对管道进行任何其他修改。

Tekton 组件介绍

Tekton Pipelines:Tekton 的基础部分,它定义了一组Kubernetes自定义资源,这些资源充当构建块,您可以从中组装CI/CD管道。

Tekton Triggers:允许基于 event 实例化 pipeline。例如,每次PR与GitHub存储库合并时,您都可以触发管道的实例化和执行。

Tekton Cli:是Tekton Pipelines的一个基于Web的图形界面,用于显示有关管道执行的信息。目前正在进行中。

Tekton Dashboard:是Tekton Pipelines的一个基于Web的图形界面,用于显示有关管道执行的信息。

Tekton Catalog:是一个由社区贡献的高质量Tekton构建块(任务、管道等)的存储库,可在您自己的管道中使用。

Tekton Hub:基于Web的图形界面,用于访问Tekton Catalog。

Tekton Operator:是一个Kubernetes Operator模式,允许您在Kubernete集群上安装、更新和删除Tekton项目。

Tekton Chain : 为使用Tekton Pipelines建造的文物提供生成、存储和标记出处的工具。

Tekton 概念术语

Tekton Pipelines 中最重要的五个概念:Task、TaskRun、Pipeline、PipelineRun、PipelineResources(已在v0.44版本被丢弃,此处简单了解)。

Task:Tekton 中的最小单元,代表一个任务模板,包括多个步骤 。定义一个有序的Step以及每个 Step 调用特定的 在一组特定的输入上构建工具,并生成一组特定的输出,这些输出可用作下一个输入 Step。

流水线来自于工业自动化流水线作业,对于研发过程,通过自动化平台完成从代码提交到交付上线的全流程。step是流水线的最小工作单元。

多个step构成了流水线的主体,Tekton 平台基于云原生,每个步骤都是基于 docker image运行时在容器内执行。

TaskRun:实例化一个特定的 Task 在一组特定的输入并生成一组特定的输出,并且一个 TaskRun 会创建一个对应的 Pod,每个 step 对应 pod 中的一个 container。

Pipeline:Tekton 中一系列有序 Task 组成的有向无环图,定义了流水线的模板。

PipelineRun:Pipeline 执行时需要定义一个 PipelineRun,作为流水线的实例,生成一条流水线记录。

PipelineResource(已被丢弃):流水线执行过程中需要的资源信息。

相关推荐
jamison_12 天前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节
NaZiMeKiY3 天前
HTML5前端第六章节
前端·html·html5·1024程序员节
戏神3 天前
Jenkins在Rocky Linux 8上的安装与部署全流程指南
java·linux·运维·jenkins·maven·持续集成·rockylinux
jamison_17 天前
颠覆未来:解锁ChatGPT衍生应用的无限可能(具体应用、功能、付费模式与使用情况)
ai·chatgpt·1024程序员节
NaZiMeKiY12 天前
HTML5前端第七章节
1024程序员节
earthzhang202116 天前
《Python深度学习》第四讲:计算机视觉中的深度学习
人工智能·python·深度学习·算法·计算机视觉·numpy·1024程序员节
程序猿看视界1 个月前
DevOps 入门指南:基础知识解读
自动化·devops·团队协作·持续集成·持续交付
明明真系叻1 个月前
2025.3.2机器学习笔记:PINN文献阅读
人工智能·笔记·深度学习·机器学习·1024程序员节·pinn
bitenum1 个月前
【C++/数据结构】队列
c语言·开发语言·数据结构·c++·青少年编程·visualstudio·1024程序员节
IT学长编程1 个月前
计算机毕业设计 基于SpringBoot的智慧社区管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·后端·毕业设计·课程设计·论文笔记·1024程序员节