持續交付和持續部署的區別

jopen 11年前發布 | 18K 次閱讀 持續交付

持續交付并不是指軟件每一個改動都要盡快的部署到產品環境中。它指的是任何的修改都已證明可以在任何時候實施部署。

— Carl Caum (@ccaum) August 28, 2013

我在上周三寫的這條微博。它在微博上激起了活躍的討論,周四的時候已經被轉發了87次,獲得了25個贊。

很顯然,這是個很火的話題,很多人對持續交付和持續部署之間的區別很困惑。有必要用超出微博字數限制的文字來說說這個概念。

持 續交付(Continuous Delivery)是一系列的開發實踐方法,用來確保讓代碼能夠快速、安全的部署到產品環境中,它通過將每一次改動都提交到一個模擬產品環境中,使用嚴格 的自動化測試,確保業務應用和服務能符合預期。因為使用完全的自動化過程來把每個變更自動的提交到測試環境中,所以當業務開發完成時,你有信心只需要按一 次按鈕就能將應用安全的部署到產品環境中。

@ccaum @steveburnett 我想很多人都混淆了“交付”和“部署”。

— Magnus Hedemark (@Magnus919) August 29, 2013

持續部署(Continuous deployment)是持續交付的更高階段:所有通過了自動化測試的改動都自動的部署到產品環境里。大多數的公司如果沒有制度的約束或其它條件的影響,都應該以持續部署為目標。

有很多的業務場景里,一種業務需要等待另外的功能特征出現才能上線,這使得持續部署成為不可能。雖然使用功能切換能解決很多這樣的情況,但并不是每次都會這樣。所以,持續部署是否適合你的公司是基于你們的業務需求——而不是技術限制。

持續交付和持續部署的區別

Inspired by Yassal Sundman’s blog post on Crisp’s Blog.

雖然持續部署并不適合所有公司,但持續交付絕對應該是每個公司需要追求的目標。只有當你能夠持續交付你的代碼時,你才能有信心通過點擊“go”按鈕,在幾分鐘內讓你的修改提交給客戶、服務于客戶。才有信心在任何時候——一旦業務允許——可以立即點這個按鈕。

[英文原文:Continuous Delivery Vs. Continuous Deployment: What's the Diff? ]

來自: 外刊IT評論 http://www.aqee.net/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!