1.CICD背景;ide
1) 持續集成中的任何一個環節都是自動完成的,無需太多的人工干預,有利於減小重複過程以節省時間、費用和工做量;測試
2) 持續集成保障了每一個時間點上團隊成員提交的代碼是能成功集成的。換言之,任什麼時候間點都能第一時間發現軟件的集成問題,使任意時間發佈可部署的軟件成爲了可能;編碼
3) 持續集成還能利於軟件自己的發展趨勢,這點在需求不明確或是頻繁性變動的情景中尤爲重要,持續集成的質量能幫助團隊進行有效決策,同時創建團隊對開發產品的信心。spa
一套標準流程,能夠將開發工做流程分爲如下幾個階段:orm
編碼 → 構建 → 集成 → 測試 → 交付 → 部署blog
2.持續集成(Continuous integration,簡稱CI);生命週期
頻繁地(一天屢次或者N次)將代碼集成到主幹。將軟件我的研發的部分向軟件總體部分交付,頻繁進行集成以便更快地發現其中的錯誤。開發
3.持續交付(Continuous delivery)部署
指的是,頻繁地將軟件的新版本,交付給質量團隊或者用戶,以供評審。若是評審經過,代碼就進入生產階段。開源軟件
持續交付在持續集成的基礎上,將集成後的代碼部署到更貼近真實運行環境的「類生產環境」(production-like environments)中。持續交付優先於整個產品生命週期的軟件部署,創建在高水平自動化持續集成之上。
4.持續部署(continuous deployment,簡稱CD)
是持續交付的下一步,指的是代碼經過評審之後,自動部署到生產環境。持續部署的目標是,代碼在任什麼時候刻都是可部署的,能夠進入生產階段。持續部署的前提是能自動化完成測試、構建、部署等步驟。
5.CICD總結
持續集成、持續交付、持續部署提供了一個優秀的 DevOps 環境。對於整個開發團隊來講,能很大地提高開發效率,好處與挑戰並行。不管如何,頻繁部署、快速交付以及開發測試流程自動化都將成爲將來軟件工程的重要組成部分。
6.CICD主流方案;