持續(xù)集成(Continuous Integration)轴术,也就是我們經(jīng)常說的CI背苦。持續(xù)集成是一種軟件開發(fā)實踐埃撵,開發(fā)人員頻繁的將代碼合并到主干含滴,在合并到主干之前必須經(jīng)過測試(單元測試痰哨、靜態(tài)代碼掃描等)胶果,只有測試通過才能集成到主干,這個過程借助于CI服務器斤斧,這樣在快速迭代的過程中能夠更快更早的發(fā)現(xiàn)并解決缺陷早抠,從而提高軟件質量。
那么在采用繼續(xù)集成之前撬讽,傳統(tǒng)的開發(fā)模式是怎么運作的呢蕊连?
- 項目劃分成多個模塊,不同的開發(fā)人員負責不同的模塊開發(fā)
- 開發(fā)人員邊寫代碼邊進行單元測試(也可以是模塊完成后再寫锐秦,也有可能不寫)
- 所有模塊開發(fā)完成后咪奖,開始集成
- 集成好的項目部署到測試服務器并交給測試人員測試
- 測試過程中發(fā)現(xiàn)BUG并提交BUG到相應的責任人
- 開發(fā)修改完成BUG后,項目再次集成酱床,部署羊赵,測試
- 如果測試通過就部署到生產(chǎn)環(huán)境
- 否則繼續(xù)修改BUG,集成扇谣,部署昧捷,測試
上面的流程又長又臭,開發(fā)人員在進行開發(fā)很長一段時間后才會嘗試把代碼合并到主干分支上罐寨,這樣如果小的缺陷一直得不到解決靡挥,會使缺陷的定位變得越來越復雜。那么持續(xù)集成有何好處鸯绿。
提高了開發(fā)效率
自動話的構建跋破,測試能夠極大的提高開發(fā)效率
快速發(fā)現(xiàn)定位BUG
提交代碼會觸發(fā)CI服務器對代碼自動進行構建和測試簸淀,這樣通過完備的測試,可以提前發(fā)現(xiàn)BUG并且能夠快速定位BUG毒返,解決BUG的成本顯著下降租幕。
更快速的發(fā)布更新版本
持續(xù)集成將大多數(shù)BUG消滅在集成測試之前,并且可以自動完成大量重復工作拧簸,節(jié)省人力