FAQgithub
什么是持续交付(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领域的多样性,以及在该领域中活跃的众多项目和供应商。ui
经过创建供应商中立的持续交付基金会,业界顶级开发者、最终用户和供应商能够将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。