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。