近些年來,持續集成、持續交付以及持續部署這幾個熱詞總是在大家的眼前晃來晃去!在招聘信息和面試過程中也會經常提及!在這里我就用三分鍾時間來帶大家了解他們!
1. 持續集成(CI:Continuous Integration)
持續集成強調開發人員提交了新代碼之后,立刻進行構建然后進行單元測試。根據測試結果,我們可以確定新代碼和原有代碼能否正確地集成在一起。
注意:這里的測試重點是指開發人員進行的代碼級別測試!
2. 持續交付(CD:Continuous Delivery)
持續交付在持續集成的基礎上,將集成后的代碼部署到更貼近真實運行環境的類生產環境中。如果測試沒有問題,可以繼續手動部署到生產環境中。
注意:這里的測試重點是指測試人員進行的產品級別的測試!往往在這個測試過程中普遍都會引入測試腳本進行自動化回歸測試,主要是進行接口測試和UI測試,
當然部分公司也會引入安全測試和性能測試。持續交付能夠以較短地周期完成需求的小粒度頻繁交付。
頻繁的交付周期帶來了更迅速的對軟件的反饋,並且在這個過程中,各個角色密切協作,相比於傳統的瀑布式軟件團隊更少浪費資源。
3. 持續部署(CD:Continuous Deployment)
持續部署則是在持續交付的基礎上,把部署到生產環境的過程自動化。整個過程無需人工參與!
4. 總結
簡單地說:
- 持續集成主要是在開發范圍,包括:構建>單元測試;
- 持續交付涉及開發、測試、運維合作,包括:構建>單元測試>測試環境部署>測試(不涉及生產環境的自動化部署)
- 持續部署是在持續交付的基礎上的延伸:包括:構建>單元測試>測試環境部署>測試>生產環境部署>生產環境測試(全流程自動化)