3分鐘瞭解清楚持續整合、持續交付、持續部署

狂師發表於2020-06-06

近些年來,持續整合、持續交付以及持續部署這幾個熱詞總是在大家的眼前晃來晃去!在招聘資訊和麵試過程中也會經常提及!在這裡我就用三分鐘時間來帶大家瞭解他們!

 

1. 持續整合(CI:Continuous Integration)

持續整合強調開發人員提交了新程式碼之後,立刻進行構建然後進行單元測試。根據測試結果,我們可以確定新程式碼和原有程式碼能否正確地整合在一起。

注意:這裡的測試重點是指開發人員進行的程式碼級別測試!

  

2. 持續交付(CD:Continuous Delivery)

 

持續交付在持續整合的基礎上,將整合後的程式碼部署到更貼近真實執行環境的類生產環境中。如果測試沒有問題,可以繼續手動部署到生產環境中。

注意:這裡的測試重點是指測試人員進行的產品級別的測試!往往在這個測試過程中普遍都會引入測試指令碼進行自動化迴歸測試,主要是進行介面測試和UI測試,

當然部分公司也會引入安全測試和效能測試。持續交付能夠以較短地週期完成需求的小粒度頻繁交付。

頻繁的交付週期帶來了更迅速的對軟體的反饋,並且在這個過程中,各個角色密切協作,相比於傳統的瀑布式軟體團隊更少浪費資源。

 

 

3. 持續部署(CD:Continuous Deployment)

 

持續部署則是在持續交付的基礎上,把部署到生產環境的過程自動化。整個過程無需人工參與!

 

4. 總結

簡單地說:

  • 持續整合主要是在開發範圍,包括:構建>單元測試;
  • 持續交付涉及開發、測試、運維合作,包括:構建>單元測試>測試環境部署>測試(不涉及生產環境的自動化部署)
  • 持續部署是在持續交付的基礎上的延伸:包括:構建>單元測試>測試環境部署>測試>生產環境部署>生產環境測試(全流程自動化)
 

相關文章