1、概念測試
一、持續集成指的是,頻繁地(一天屢次)將代碼集成到主幹。code
它的好處主要有兩個。部署
快速發現錯誤。每完成一點更新,就集成到主幹,能夠快速發現錯誤,定位錯誤也比較容易。 防止分支大幅偏離主幹。若是不是常常集成,主幹又在不斷更新,會致使之後集成的難度變大,甚至難以集成。
持續集成的目的,就是讓產品能夠快速迭代,同時還能保持高質量。它的核心措施是,代碼集成到主幹以前,必須經過自動化測試。只要有一個測試用例失敗,就不能集成。產品
Martin Fowler 說過,」持續集成並不能消除 Bug,而是讓它們很是容易發現和改正。」自動化
與持續集成相關的,還有兩個概念,分別是持續交付和持續部署。持續集成
二、持續交付自動化測試
持續交付(Continuous delivery)指的是,頻繁地將軟件的新版本,交付給質量團隊或者用戶,以供評審。若是評審經過,代碼就進入生產階段。軟件
持續交付能夠看做持續集成的下一步。它強調的是,無論怎麼更新,軟件是隨時隨地能夠交付的。自動部署
三、持續部署co
持續部署(continuous deployment)是持續交付的下一步,指的是代碼經過評審之後,自動部署到生產環境。
持續部署的目標是,代碼在任什麼時候刻都是可部署的,能夠進入生產階段。
持續部署的前提是能自動化完成測試、構建、部署等步驟。它與持續交付的區別,能夠參考下圖。