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。