CD 基金会、Jenkins、Jenkins X、Spinnaker 和 Tekton 的常问问题

时间:2022-07-25 16:29:59

转载:https://mp.weixin.qq.com/s/bQLqGrCM9NZYI0Njlu4N-w

CD 基金会、Jenkins、Jenkins X、Spinnaker 和 Tekton 的常问问题

FAQ

什么是持续交付(CD)?

CD是一种软件工程方法,团队在短周期内生成软件,确保软件可以随时可靠地发布。微服务、云原生架构的兴起引发了持续交付实践的必然结果。这与CI/CD有关,其中包括持续集成(CI) - 将所有开发者工作副本一天多次合并到共享主线的做法。

宣布了什么?

CDF(Continuous Delivery Foundation,持续交付基金会)是一个新的、中立的组织,将发展和维持一个开放的持续交付生态系统。它将提供统一的治理和与供应商中立的管理,以及对资金和运营的监督。CD基金会的第一批项目是Jenkins、Jenkins X、Spinnaker和Tekton。

为什么CD社区组成基金会。为什么需要?

整个行业都迫切需要围绕管道、工作流程和其他CI/CD领域合作定义行业规范,并为CI/CD工具提供基础支持。例如,Jenkins社区正在寻求一个“全方位服务”的基金会来托管Jenkins(最受欢迎的CI/CD项目之一),并构建一个增强协作的平台。还需要一个全行业的中立DevOps/CD会议。

这是否代表了云原生态系统的转变?

是的,市场已转向容器化和云原生技术,因此CI/CD系统、DevOps和相关工具的生态系统发生了根本性的变化。CNCF云原生互动景观展示了CI/CD领域的多样性,以及在该领域中活跃的众多项目和供应商。

通过建立供应商中立的持续交付基金会,业界*开发者、最终用户和供应商可以将CI/CD作为方法,定义/记录最佳实践以及创建培训材料,以使全球任何软件开发团队能够交付代码更改更快、更可靠、无论它们是否为云原生。

开发者为何要关心?

CI/CD项目目前面临的挑战,包括工具复杂性和管道和其他CI/CD工具缺乏行业标准化,正在抑制增长和创新。由于缺乏中立的法律实体和强有力的治理,项目很难吸引新开发者和组织的宝贵支持。项目维护者和开发者花费大量时间和金钱处理安全程序和监督等方面的变通方法。这使人们不再关注新的发展和创新。拥有广泛行业支持的基金会将能够更快地定义行业规范,并为跨项目协作创造更多机会,以改善开发者的工具。

谁用CD?

CD广泛应用于云计算、企业IT,并且正在迅速扩展到其他*行业垂直领域。例如,在网络运营商与供应商并肩工作,开发CI/CD工具,使开发者能够直接与上游项目的分支合作 - 大幅缩短实施新功能的时间,并解决数月到数天的错误。使用云原生技术(如Kubernetes)时,设置CI/CD管道将加快发布生命周期。这使开发者每天可以多次发布;让团队灵活到足以快速迭代。

CDF如何与渐进式交付相关?

渐进式交付(Progressive delivery)是现代持续交付技术的一种形式,例如灰度发布、功能标记、A/B测试、经过验证的部署组等。渐进式交付技术和技术与持续交付密切相关。有关渐进式交付的更多信息,请阅读James Governor关于此主题的Redmonk博客:https://redmonk.com/jgovernor/2018/08/06/towards-progressive-delivery/

这将如何影响开源软件的开发?

持续交付可提高软件开发团队的速度、生产力和可持续性。CDF促进行业*开发者、最终用户和供应商之间的合作,以确保CD方法的软件工程充分发挥其潜力,推进开源软件开发。

哪些项目将包含在CDF中?

CDF正在推出四个项目:Jenkins、Jenkins X、Spinnaker和Tekton,还有更多感兴趣的项目正在筹备中。我们邀请人们关注CDF技术监督委员会(“TOC”),该委员会将在未来做出项目决策:https://github.com/cdfoundation/toc。

我是否必须是成员才可以贡献到CDF项目?

绝对不是,CDF中的开源项目或任何Linux基金会计划的技术贡献都不需要成员资格。组织作为成员加入CDF,因为它们希望在持续交付模型和最佳实践的增长和发展中扮演积极的角色,而不只是支持CDF中的开放源码项目。如果你有兴趣加入,请参阅https://cd.foundation/members/join/。

什么是Jenkins?

Jenkins是领先的开源自动化服务器,由大量不断增长的开发者、测试者、设计者和其他对持续集成、持续交付和现代软件交付实践感兴趣的人提供支持。它基于Java虚拟机(JVM),提供超过1,500个插件,可将Jenkins扩展为几乎所有技术软件交付团队使用的自动化服务器。2019年,Jenkins有超过了200,000个已知安装,使其成为部署最广泛的自动化服务器。

什么是Jenkins X?

Jenkins X是Kubernetes上现代云应用程序的开源CI/CD解决方案。Jenkins X提供管道自动化、内置GitOps和预览环境,以帮助团队协作并加速他们的软件交付。Jenkins X使用最好的OSS工具自动化Kubernetes的CI + CD,如Jenkins、Tekton、Prow、SkaffoldKaniko和Helm。

为什么Jenkins和Jenkins X成为CDF的一员?

Jenkins和Jenkins X将成为与技术兴趣相关的中立社区的一部分,并在构建开发者社区和项目治理方面获得帮助。CD基金会还将协助Jenkins和Jenkins X的营销和文档工作。

这对现有Jenkins用户有何影响?

将Jenkins和Jenkins X捐赠给CD基金会将促进行业内开发者、最终用户和供应商之间的更多合作。有关详细信息,请参阅此电子邮件和与Jenkins社区的对话:https://groups.google.com/forum/#!msg/jenkinsci-dev/1w57jl3K4S4/OFDYSEfXEwAJ

什么是Tekton?

Tekton是一组用于构建CI/CD系统的共享开源组件。它使持续交付控制平面现代化,并将软件部署的大脑转移到Kubernetes。Tekton的目标是通过供应商中立的开源基金会为CI/CD管道、工作流程和其他构建模块提供行业规范。Tekton的代码在https://github.com/tektoncd/pipeline。

为什么Tekton成为CDF的一员?为什么Google会捐赠代码?

作为CDF的创始成员,谷歌正在捐赠Tekton。正如Kubernetes通过提供一组标准的API在云中进行交互而彻底改变了应用程序开发,Google的目标是通过CD基金会为DevOps从业者提供相同的优势。CDF将提供行业规范、安全、实用和可扩展的持续交付构建块,可用于在任何地方部署代码。

Tekton对knative build的影响是什么?

从第1天开始,可插拔性一直是knative的核心功能。将Build与Serving分离的目标是强化这种可插拔性概念。已经对构建系统感到满意的用户可以将其与Knative Serving一起使用。Tekton将继续支持Knative生态系统作为一流的目标环境。Tekton管道将部署到Knative环境。

在可预见的未来,Knative Build将继续作为Knative的一部分,专注于无服务器环境的源到容器工作流程。这两个项目将在标准和界面上保持紧密联系。

什么是Spinnaker?

Spinnaker是云端优先的持续交付平台,最初由Netflix创建,目前由Netflix和Google共同领导。它支持所有主要的云平台和Kubernetes,并得到各个供应商的贡献。Spinnaker通常用于大规模组织,DevOps团队通过提供“黄金路径”(golden path)应用程序部署管道来支持许多开发者。

为什么Google/Netflix将Spinnaker捐赠给CDF?

随着Spinnaker最近将其治理正式化,将其转移到基金会是社区自然的下一步。Spinnaker设计为持续交付平台,通常与Jenkins结合使用,因此CDF真的是项目的理想之家。

Spinnaker也是一个多组件系统,在概念上与Tekton分享了许多想法 - 看到两个项目在一个基金会上聚集在一起,是将持续交付向前推进的巨大机会。

这对Spinnaker用户有何影响?

Spinnaker作为CDF的一员,社区将有更多机会创建更简单、更强大的端到端体验,并就CI/CD的一套通用标准进行协作。Spinnaker用户在持续交付领域拥有丰富的经验,加入CDF提供了一个与更广泛的社区分享专业知识的绝佳机会。

Spinnaker用户还将受益于CDF社区中广泛的CI/CD知识,他们使用的各种工具之间的一致性,当然还有不断改进的生态系统!

未来的CI/CD项目进入CDF的过程是怎样?

其他项目预计将通过其即将成立的技术监督委员会(TOC)加入CDF:https://github.com/cdfoundation/toc,重点是将CD生态系统整合在一起,围绕可移植性和互操作性构建规范和项目。

CDF的下一步是什么?

接下来的步骤是启动治理结构。将成立一个理事会、技术和外联/营销委员会。我们计划在未来几个月内实现这一目标,并邀请新成员加入我们的社区。如果你有兴趣加入社区推进CD,请到https://cd.foundation/members/join/。

CNCF的参与程度,为什么需要一个单独的基金会?

首先要注意的是,CD适用于整个软件行业,而不仅仅适用于现代云原生应用程序。CNCF(Cloud Native Computing Foundation,云计算本地计算基金会)是CDF的姐妹基金会,拥有自己的治理结构和使命。每个基金会都有不同的使命,由其创始成员和技术专家定义。CNCF认为大多数与CD相关的工具超出了他们专注的云原生定义的范围,后者主要关注容器化、微服务、服务网格和编排。CDF超越云和容器,包括传统基础设施、移动、物联网、裸机等。CNCF和CDF都属于较大的Linux基金会旗下,计划在许多领域进行合作,包括同场会议。例如,CDF将于5月20日在西班牙巴塞罗那的KubeCon + CloudNativeCon Europe 2019举办持续交付峰会(CDS)活动。

CDF如何支持或与DevOps领域的其他玩家合作?

CDF的使命是为开发者、最终用户和供应商提供一个中立的家庭,以便在CI/CD方法上进行协作。在这方面,CDF将通过发布关注可移植性的最佳实践、培训材料和行业指南来支持DevOps从业者。

有兴趣成为这个新基金会成员并制定治理方案的组织应到CDF加入的页面。开发者可以在此处注册CD基金会邮件列表:info@lists.cd.foundation。任何有兴趣加入CDF的项目都可以联系技术监督委员会(TOC):https://github.com/cdfoundation/toc