1.定義
持續(xù)集成是一種軟件開發(fā)實踐,即團隊的開發(fā)人員經(jīng)常集成他們的工作碍讨,一般地蒙秒,研發(fā)人員每天至少集成一次晕讲,也就意味著每天可能發(fā)生多次集成瓢省。每次集成都通過自動化的構(gòu)建(包括編譯、發(fā)布、自動化集成)來驗證馒胆,從而盡早的發(fā)現(xiàn)集成錯誤祝迂。
2.價值
(1)減少風(fēng)險
一天中進行多次集成液兽,并做相應(yīng)的測試掌动,這樣有利于檢查缺陷粗恢,了解軟件的健康狀況眷射。
(2)減少重復(fù)過程
重復(fù)的過程包括代碼編譯佛掖,數(shù)據(jù)庫集成芥被,測試坐榆,審查席镀,部署及反饋豪诲。通過自動化的集成可以將這些重復(fù)的動作都變成自動化的屎篱,無需太多人工干預(yù)。
(3)任何時間专肪、任何地點生成可布署的軟件
這是持續(xù)集成最大的好處堪侯,當(dāng)我們對代碼進行更改之后伍宦,并將這些改動和其他代碼進行集成次洼。如果有了錯誤卖毁,項目成員會被通知到亥啦,問題會第一時間被修復(fù)。如果不采用集成的情況下奴拦,這些問題可能到交付前的集成測試的時候才會被發(fā)現(xiàn)届吁,有可能導(dǎo)致產(chǎn)品的延遲發(fā)布等情況。
(4)增加項目的可見性
持續(xù)集成讓我們能夠注意到趨勢并進行有效的決策潮模。如果沒有真實數(shù)據(jù)支持再登,項目可能會遇到問題晾剖,每個人都會提出他們認為的最好的猜測齿尽。
3.要素
1.統(tǒng)一的代碼庫 2.自動構(gòu)建 3.自動測試 4每個人都向代碼庫主干提交代碼
5.每次代碼提交都會在持續(xù)集成服務(wù)器上觸發(fā)一次構(gòu)建
6.保證快速構(gòu)建 7.模擬生產(chǎn)環(huán)境的自動測試
8.每個人都可以輕松的獲取最新的可執(zhí)行程序
9.每個人都清楚正在發(fā)生的狀況 10.自動化部署