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(已被丢弃):流水线执行过程中需要的资源信息。

相关推荐
小苏兮1 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节
unable code3 小时前
攻防世界-Misc-掀桌子
网络安全·ctf·misc·1024程序员节
被AI抢饭碗的人14 小时前
linux:io基础
1024程序员节
GIS数据转换器16 小时前
2025无人机在电力交通中的应用实践
运维·人工智能·物联网·安全·无人机·1024程序员节
TDengine (老段)1 天前
TDengine 数学函数 CRC32 用户手册
java·大数据·数据库·sql·时序数据库·tdengine·1024程序员节
草莓熊Lotso1 天前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节
-孤存-1 天前
深入浅出:TCP/UDP协议核心原理
网络·网络协议·tcp/ip·1024程序员节
百锦再2 天前
第1章 Rust语言概述
java·开发语言·人工智能·python·rust·go·1024程序员节
开开心心就好2 天前
电脑音质提升:杜比全景声安装详细教程
java·开发语言·前端·数据库·电脑·ruby·1024程序员节
hfdz_00422 天前
BUCK电路原理和设计
电源·硬件设计·1024程序员节