複製鏈接
請複製以下鏈接發送給好友

持續交付

(軟件工程手法)

鎖定
持續交付(英語:Continuous delivery,縮寫為 CD),是一種軟件工程手法,讓軟件產品的產出過程在一個短週期內完成,以保證軟件可以穩定、持續的保持在隨時可以發佈的狀況。它的目標在於讓軟件的構建、測試與發佈變得更快以及更頻繁。這種方式可以減少軟件開發的成本與時間,減少風險。
中文名
持續交付
外文名
Continuous delivery
縮    寫
CD
本    質
一種軟件工程手法
目    標
軟件的構建、測試與發佈變得更快以及更頻繁
功    能
減少軟件開發的成本與時間,減少風險

持續交付與DevOps的關係

持續交付與DevOps的含義很相似,所以經常被混淆。但是它們是不同的兩個概念。DevOps的範圍更廣,它以文化變遷為中心,特別是軟件交付過程所涉及的多個團隊之間的合作(開發、運維、QA、管理部門等),並且將軟件交付的過程自動化。另壹方面,持續交付是壹種自動化交付的手段,關注點在於將不同的過程集中起來,並且更快、更頻繁地執行這些過程。因此,DevOps可以是持續交付的壹個產物,持續交付直接匯入DevOps。

持續交付與持續部署的關係

有時候,持續交付也與持續部署混淆。持續部署意味着所有的變更都會被自動部署到生產環境中。持續交付意味着所有的變更都可以被部署到生產環境中,但是出於業務考慮,可以選擇不部署。如果要實施持續部署,必須先實施持續交付。 [1] 

持續交付持續交付四步實現

持續交付自動化

自動化流程被視為是人工流程的次級,一些人擔心他們會做自動化工作。自動化減少了疲勞感,使開發人員有更多的時間關注在更多有趣的工作上。使較新的自動化工具,如Puppet and Chef,以及一些新的雲服務,都對流程有幫助。

持續交付DevOps

使用DevOps方法來摧毀阻礙了開發人員看到生產問題的運維的牆。

持續交付雲基礎設施

Edmunds通過亞馬遜web服務使用公有云資源,以及他們專有的本地虛擬化,以及帶有防火牆的私有硬件。在這兩種情況下,優勢是一樣的。廣泛的虛擬化給他們提供了部署、測試和生產環境,這不僅僅是隨時可用,而且與人工提供的環境相比更加一致。
每天通過他們的虛擬化環境自動化管理費數千萬的個人設置和配置,這要求巨大量的硬件設備,以及每台設備的個人配置。有了虛擬化架構,新環境可以自動化得到支持。不再使用的舊環境可以迅速關閉,給新項目釋放資源。

持續交付以軟件為中心的哲學

前三個組件:自動化、DevOps和雲基礎設施支持,內容管理得益於視編輯複製為軟件這使得在失去性目標時,開發人員調試並修復問題時變得更加容易。 [2] 
參考資料
  • 1.    Patricia Johnson. 持續交付流程的超級組織[J]. 軟件和集成電路, 2017(11):10-11.
  • 2.    JezHumble, DavidFarley, 亨布爾,等. 持續交付:發佈可靠軟件的系統方法[J]. 2011.