在上一章中了解到如何對項目的配置進行管理朝氓,這是項目開發(fā)的一個基礎步驟径荔,對于團隊的協(xié)作,版本的重現(xiàn)都是起很重要的作用的颠黎。在本章中繼續(xù)學習又一實踐——持續(xù)集成另锋,顧名思義就是讓項目在每次的提交之后都要進行構(gòu)建,運行狭归,跑一遍測試夭坪。
為什么要使用持續(xù)集成
在很多軟件項目中,都有一個通病过椎,即在開發(fā)過程中室梅,應用程序在相當一段時間內(nèi)無法運行。究其原因疚宇,沒有人有興趣在開發(fā)完成之前運行整個應用亡鼠。所以他們會給后期的集成階段留出很長時間,這樣的集成活動可能會持續(xù)很長時間敷待,而最糟糕的則是沒有人知道到底要畫多長時間间涵。
而持續(xù)集成就是解決這類問題的靈丹妙藥了,持續(xù)集成要求每當有人提交代碼時榜揖,就對整個應用進行構(gòu)建浑厚,并對其執(zhí)行全面的自動化測試集合股耽,若有失敗,則最快解決至可運行狀態(tài)钳幅。這樣下來物蝙,在后期我們就可以花費很少的時間將軟件交付給用戶。
實現(xiàn)持續(xù)集成
持續(xù)集成是一種實踐敢艰,而非工具诬乞。要在項目中實現(xiàn)持續(xù)集成,我們需要下面這些準備工作钠导。
1.版本控制
2.自動化構(gòu)建
3.團隊共識
4.一個基本的持續(xù)集成系統(tǒng)
并且也要遵循以下的實踐
1.頻繁提交
2.創(chuàng)建全面的自動化套件
3.保持較短的構(gòu)建和測試流程
4.管理開發(fā)區(qū)
持續(xù)集成中需要注意
1.構(gòu)建失敗之后不要提交新的代碼
2.提交前在本地運行所有的提交測試震嫉,或者讓持續(xù)集成服務器完成此事
3.等提交測試通過后再繼續(xù)工作
4.回家之前,構(gòu)建必須處于成功狀態(tài)
5.時刻準備回滾上一個版本
6.在回滾之前要規(guī)定一個修復時間
7.不要將失敗的測試注釋掉
8.為自己導致的問題負責
9.測試驅(qū)動開發(fā)
總結(jié)
可能這一章中的一些實踐之前使用過牡属,在看得時候相對之前很好理解票堵,收獲很大,疑惑相對就變少了逮栅。
我的收獲
- 持續(xù)集成可以有效減少項目周期
- 持續(xù)集成也是有相應的軟件
- 測試驅(qū)動開發(fā)悴势,Test First
我的疑惑
- 當團隊中人數(shù)眾多時,不停push,pull 合并分支措伐,解決沖突特纤,這樣會不會降低生產(chǎn)效率