集成是軟件開發(fā)的最后階段捡絮,即將分支合并起來革答,使軟件能夠運行起來战坤。而持續(xù)集成就指的是在開發(fā)過程中隨時做集成,小步前進残拐,這樣也不會使得集成問題“滾”成大球途茫,難以解決。
實現(xiàn)持續(xù)集成
首先溪食,我們得知道怎樣去實現(xiàn)持續(xù)集成囊卜,即了解持續(xù)集成的準(zhǔn)備工作和要求。
1、版本控制栅组,與上一章中講述的一樣雀瓢,我們需要把項目的所有內(nèi)容都納入到版本控制庫中。
2玉掸、自動化構(gòu)建刃麸,做到在命令行中實現(xiàn)構(gòu)建。
3排截、團隊共識嫌蚤。
4辐益、持續(xù)集成系統(tǒng)断傲。
持續(xù)集成的前提條件
1、頻繁提交智政。要求每天至少提交一次代碼认罩,這樣小步前進,不會使合并工作量變大续捂,也使得回滾便捷有效垦垂。
2、全面的自動化測試套件牙瓢。包括單元測劫拗、組件測試和驗收測試,由小到大范圍測試矾克,保證引入的代碼不會破壞現(xiàn)有功能页慷。
3、保持較短的構(gòu)建和測試過程胁附【品保控制編譯和測試的時間,讓測試執(zhí)行的更快控妻,減少構(gòu)建時間州袒。
4、管理開發(fā)工作區(qū)弓候,這里即上一章中提到的配置管理郎哭。
使用持續(xù)集成軟件
持續(xù)集成軟件包括兩部分,第一是一個一直運行的進程菇存,定期進行簡單的工作流程夸研;第二是呈現(xiàn)這個流程運行結(jié)果,能了解到測試和構(gòu)建的狀態(tài)結(jié)果撰筷。
實踐
這里作者向我們講述了幾種持續(xù)集成中應(yīng)注意的問題:
1陈惰、構(gòu)建失敗后不要提交代碼,不要讓問題“滾雪球”,務(wù)必做到及時解決問題抬闯。
2井辆、提交前在本地運行提交測試,確保沒有問題以及和其他人不沖突溶握。
3杯缺、等提交測試成功后再繼續(xù)工作。
4睡榆、回家之前萍肆,構(gòu)建必須處于成功狀態(tài)。這里有點意思胀屿,也與自己的原本想法有出入塘揣,書中講到下班前提交代碼構(gòu)建失敗,如果是我宿崭,我會選擇加班修復(fù)亲铡,而書中建議為將提交回滾,下次上班再解決葡兑。因為修復(fù)也可能失敗奖蔓,而且放置不管更是不允許的,最好的方法就是給自己的構(gòu)建留有足夠時間讹堤,確保離開前構(gòu)建處于成功狀態(tài)吆鹤。
5、確保隨時能回滾到上一個版本洲守,以及對自己導(dǎo)致的問題負(fù)責(zé)疑务,尤其不要把失敗的代碼注釋掉,注釋一時爽岖沛,構(gòu)建葬火場...
推薦的實踐
這里作者提出了幾個開發(fā)中的建議暑始,包括違背架構(gòu)原則及運行測試運行變慢時,選擇讓構(gòu)建失敗婴削,雖然過程對團隊可能是“摧殘”的廊镜,但是結(jié)果一定是最好的,這也提醒了我們在以后工作中也要嚴(yán)格要求自身唉俗。
<br />
持續(xù)集成對分布式團隊所帶來的益處也是非常大嗤朴,同時,通過書中講述的虫溜,還了解到了針對持續(xù)集成雹姊,我們現(xiàn)在所使用的github中存在的問題,github的分支管理使代碼變得靈活衡楞,然而也存在問題,這樣也會干擾主線模型吱雏,導(dǎo)致合并出現(xiàn)問題。
總結(jié)
在這一章中,學(xué)習(xí)到了持續(xù)集成的概念及如何去實現(xiàn)持續(xù)集成歧杏,作者很詳細(xì)的從多個方面分析并列出合理的解決方案镰惦,了解到了使用持續(xù)集成的優(yōu)點,持續(xù)集成也應(yīng)該是我們以后爭取盡早達到的目標(biāo)犬绒。