CI(持續整合)/CD(持續部署)
阿新 • • 發佈:2019-01-07
- 什麼是CI(持續整合)
持續整合(ContinousIntergration,CI)是一種軟體開發實踐,即團隊開發成員經常整合它們的工作,通常每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的編譯、釋出、自動化迴歸測試來驗證,從而儘快地發現整合錯誤。許多團隊發現這個過程可以大大減少整合的問題,讓團隊能夠更快的開發內聚的軟體。持續整合是為了持續交付。 沒有單元測試的持續整合基本無意義。
- 什麼是CD(持續部署)
持續部署(ContinousDelivery,CD)在持續整合的基礎上,將整合後的程式碼部署到更貼近真實執行環境中。比如,我們完成單元測試後,可以把程式碼部署到測試環境中,交付給質量團隊或者使用者,以供評審。如果評審通過, 程式碼就進入生產階段。
- 常規的測試過程:開發送測一個版本——>測試人員從配置庫下載版本——>編譯版本——>部署到測試環境——>進行冒煙測試——>進行功能測試。 而這些過程完全可以由CI/CD來替代。
- DevOps
DevOps是一個完整的面向IT運維的工作流,以IT自動化以及CI、CD為基礎,來優化程式開發、測試、系統運維等所有環節。
DevOps實際是一種文化上的變遷,代表了開發、運維、測試等環節之間的協作,因此DevOps工具是非常多種多樣的,甚至可以由多種工具組成一個完整的DevOps工具鏈。此類工具可以應用於一種或多種類別,並可體現出軟 件開發和交付過程的不同階段:
①編碼:程式碼開發和審閱,版本控制工具、程式碼合併工具
②構建:持續整合工具、構建狀態統計工具
③測試:通過測試和結果確定績效的工具
④打包:成品倉庫、應用程式部署前暫存
⑤釋出:變更管理、釋出審批、釋出自動化
⑥配置:基礎架構配置和部署,基礎架構即程式碼工具
⑦監視:應用程式效能監視、終端使用者體驗