集成是軟件開發(fā)的最后階段,即將分支合并起來,使軟件能夠運行起來。而持續(xù)集成就指的是在開發(fā)過程中隨時做集成,小步前進,這樣也不會使得集成問題“滾”成大球,難以解決。
實現(xiàn)持續(xù)集成
首先,我們得知道怎樣去實現(xiàn)持續(xù)集成,即了解持續(xù)集成的準備工作和要求。
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)致的問題負責,尤其不要把失敗的代碼注釋掉,注釋一時爽,構(gòu)建葬火場...
推薦的實踐
這里作者提出了幾個開發(fā)中的建議,包括違背架構(gòu)原則及運行測試運行變慢時,選擇讓構(gòu)建失敗,雖然過程對團隊可能是“摧殘”的,但是結(jié)果一定是最好的,這也提醒了我們在以后工作中也要嚴格要求自身。
<br />
持續(xù)集成對分布式團隊所帶來的益處也是非常大,同時,通過書中講述的,還了解到了針對持續(xù)集成,我們現(xiàn)在所使用的github中存在的問題,github的分支管理使代碼變得靈活,然而也存在問題,這樣也會干擾主線模型,導(dǎo)致合并出現(xiàn)問題。
總結(jié)
在這一章中,學(xué)習(xí)到了持續(xù)集成的概念及如何去實現(xiàn)持續(xù)集成,作者很詳細的從多個方面分析并列出合理的解決方案,了解到了使用持續(xù)集成的優(yōu)點,持續(xù)集成也應(yīng)該是我們以后爭取盡早達到的目標。