2020年及以后的Tekton!

去年年底,丹(Dan)发表了博客文章: A Year of Tekton 。这回顾了项目启动以来发生的事情。强烈推荐阅读!现在我们即将进入2020年,让我们再次回顾2019年,并展望Tekton今年的发展!

回顾Tekton的2019

我们可以肯定地说,2019年(或多或少是该项目的第一年!)对于Tekton来说是伟大的一年。就像蹒跚学步的孩子一样,我们尝试了一些事情,有时失败了,而且学到了很多东西;我们发展很快!

从第一版(0.1.0)到最新版(0.9.2),到2019年Tekton Pipelines共有9个版本。我们尽最大努力创建发行版的工作,每个版本中都有许多贡献者!!

  • 0.1.x (Jason Hall) First Tekton Pipelines release!
  • 0.2.x (Christie Wilson) Tekton Pipelines with graphs; without init containers!
  • 0.3.x Chartreux C-3PO (Vincent Demeester) Released using Tekton itself!
  • 0.4.x Aegean Brackenridge (Dan Lorenc) Exposes digests of built images
  • 0.5.x Tuxedo Kilim (Christie Wilson) Pull Request and better sidecar support!
  • 0.6.x Toyger Ultron (Dibyo Mukherjee) Conditional execution
  • 0.7.x Lynx Point (Andrea Frittoli) Sidecars and CloudEvents
  • 0.8.x Peterbald Maria (Scott Seaward) Embedded CRDs and S3
  • 0.9.x Bengal Bender (Andrea Frittoli) Step scripts

如果您对从0.3.x开始的版本命名感到好奇,我们决定让命名变得有趣,并用猫的品种和机器人的名称来命名我们的版本(参考我们惊人的徽标,机器人猫)。

除了初始项目(tektoncd/pipeline),我们还开启了一系列新项目:

  • tektoncd/cli:该项目旨在提供一个易于使用的命令行界面来与tekton组件进行交互。由于Tekton对象是Kubernetes组件,因此您始终可以通过Kubernetes CLI(kubectl)与它们进行交互,但是kubectl的体验可能是“原始的”并且不是很专注。 tkn CLI的目标是提供易于使用的用户体验,而无需了解有关kubectl(或Kubernetes)的任何知识。
  • tektoncd/dashboard:除CLI项目外,Tekton仪表板还在浏览器中提供了Tekton组件的用户界面。它允许用户管理和查看Tekton PipelineRun和TaskRun以及创建,执行和完成过程中涉及的资源。
  • tektoncd/catalog:Tekton pipeline旨在提供高度可共享的对象(任务,管道,条件等),因此,创建存储库来存储共享任务和管道的目录很自然!
  • tektoncd/experimental:随着人们对Tekton的兴趣不断增长,越来越多的“功能需求”。为了谨慎考虑如何扩大Tekton pipeline的范围,同时仍允许贡献者进行实验,我们创建了此存储库以使实验更容易进行。实验可以在足够的规范下完成。到目前为止,最大的项目是webhooks扩展,它结合使用Dashboard项目和Triggers来允许用户为触发PipelineRuns的Git创建Webhooks。
  • tektoncd/operator:该项目旨在为操作员提供管理tektoncd项目(pipeline等)的安装,更新和卸载的方法。它尚未在社区 OperatorHub 中发布。
  • tektoncd/triggers:说到实验性repo,触发器在这里开始了它的生命!该项目为pipeline提供轻量级事件触发。

展望Tekton的2020

我们已经走了很长一段路,但是我们还有很多事情要做!虽然我们无法确定会发生什么,但是以下是我们希望在2020年实现的展望!

Beta API, GA

如您所见,我们进行了很多更改!展望未来,我们要确保在Tekton之上使用和构建的人们能够获得更多的稳定性保证。考虑到这一点,我们正在推动Tekton Pipelines在2020年初发布Beta版。如果您有兴趣关注进展,请加入 Beta工作组 !或关注我们的Twitter,了解重大公告。

一旦发布测试版,用户将可以期待更高的稳定性,因为我们将按照kubernetes版本发行以及何时停止维护的政策,例如,任何重大更改都需要在9个月或3个发行版中推出(更长)。

而一旦我们进入测试版,我们希望能够尽快为用户提供GA稳定性。进入测试版后,我们将寻求将尚未提升为测试版的类型(例如“条件”)进行处理,添加尚不具备的任何重要功能(我们将在故障处理和“暂停和继续”(也称为“启用手动批准的功能”!),然后我们应该准备宣布GA!

Task Interfaces 和 PipelineResources

谈到不会马上进行beta的类型:PipelineResources! PipelineResources是Tekton中的一种类型,用于在数据通过pipeline时封装和加载数据,例如您正在构建和部署的镜像,或者您正在签出并进行构建的git commit。

这个概念最早是在Tekton中引入的,与Concourse资源极为相似。但是,当我们开始尝试向它们添加更多功能时,我们开始发现实现它们的方式中存在一些有趣的方面,这使我们退后一步,使他们重新思考。另外,我们社区中的一些人问了一个经典问题“为什么选择PipelineResources”,我们发现答案并不尽如人意!

当我们开始重新设计,然后再次重新设计时,我们开始清楚地知道我们要创建的是什么:pipeline中的任务之间的接口!并由于提出了革命性的要求,以提高对批量生产的支持,我们终于感到自己在正确的道路上!此路径的下一步是添加一些关键功能,即工作空间的概念(即Task在其上操作的文件)并允许Task输出值(也称为“结果”)。

将这些准备就绪后,我们将重新审视我们的设计和重新设计。

tekton.dev

为了配合我们的Beta版计划,我们正在改造我们的网站!很快,您可以在tekton.dev上找到入门资料,教程和版本化的文档。

Tekton Catalog

除了使人们易于实施云原生CI / CD之外,Tekton的最重要目标之一是使人们能够共享和重用构成pipeline的组件。例如,假设您想用任务的结果更新Slack –如果有一种经过考验的方法来使用简洁的界面来完成任务,那不是很好吗?

这就是Tekton目录的全部内容!迄今为止,我们已经收到来自社区的20多项任务,以执行从运行Argo CD到使用conftest测试配置的所有工作。

但是,我们还有很多要做的事情!我们希望提供版本控制和测试保证,使人们可以轻松地依靠目录中的任务,而公司也可以创建自己的目录。

另外,目录是我们在Tekton项目之间建立更好的互操作性的好地方,例如,通过运行tkn的Task(Tekton CLI)。

致谢

没有用户,贡献者,采用者和朋友的支持,社区就一无所有,因此我们希望向社区大声疾呼,感谢他们在2019年以及2020年的巨大努力和支持。

Friends

我们已经赢得了朋友,并且随时欢迎更多朋友!我们当前的“知名朋友”列表包括:

  • Alibaba
  • Ant Financial
  • Cloudbees
  • Elastic
  • Google
  • IBM
  • Puppet
  • Red Hat
  • TriggerMesh

我们欢迎朋友的要求!请向 https://github.com/tektoncd/friends 提交PR,此存储库充当使生态系统成员(称为“ Tekton Friends”)以对每个人都有益的方式自我报告的地方。如果您的公司正在使用Tekton和/或为它做贡献,我们希望您能成为朋友。

相关项目

Tekton的采用已经发展壮大,并成为各种公司免费和商业产品的一部分,这表明Tekton的价值并为任何事情做好了准备。

在2019年中,Puppet推出了一项新的云原生CD服务,称为 Project Nebula ,该服务基于Tekton Pipelines。和精美的GUI的功能。为了配合星云的公开测试版,Scott Seaward在Puppetize PDX用户会议上作了主题演讲,讨论了Tekton的工作原理。从那时起,Nebula团队为pipeline 项目提供了多个PR,并期待在2020年实现步骤互操作性,初始化和其他出色的上游功能。

其他值得注意的例子包括:

meetup 和推文

看到越来越多的人对Tekton感到兴奋并与世界分享,真是一种荣幸!这是我们在2020年看到的有关Tekton的精彩演讲和推文中的一些(但不是全部!),更不用说我们的Tekton贡献者峰会了!

加入我们

果您有兴趣为Tekton做贡献,我们很乐意邀请​​您加入我们!每个tektoncd项目都有一个CONTRIBUTING.md,可以为您指明正确的方向,我们的社区包含有用的链接和指南。随时提出问题,参加会议,或者加入我们的工作组之一!希望很快能见到你。

原文

原文地址: https://cd.foundation/blog/202 … yond/