這一章主要講了如何實(shí)現(xiàn)持續(xù)集成和持續(xù)集成存在的必要性。
持續(xù)集成
持續(xù)集成要求每當(dāng)有人提交代碼時(shí),就對(duì)整個(gè)應(yīng)用進(jìn)行構(gòu)建并對(duì)其執(zhí)行全面的自動(dòng)化集成測(cè)試。而且至關(guān)重要的是,假如構(gòu)建或測(cè)試過(guò)程失敗,開(kāi)發(fā)團(tuán)隊(duì)就要停下手中的工作,立即修復(fù)它。持續(xù)集成的目標(biāo)是讓正在開(kāi)發(fā)的軟件一直處于可工作的狀態(tài)。
實(shí)現(xiàn)持續(xù)集成
持續(xù)集成不是一種工具,而是一種實(shí)踐。
1.準(zhǔn)備工作
- 版本控制
- 自動(dòng)化構(gòu)建
- 團(tuán)隊(duì)意識(shí)
2.一個(gè)基本的持續(xù)集成系統(tǒng)
持續(xù)集成的前提條件
持續(xù)集成不會(huì)獨(dú)立地幫你修復(fù)構(gòu)建地過(guò)程。為了使持續(xù)集成能夠更有效,開(kāi)始之前,你應(yīng)該做好下面地事情:
1.頻繁提交
2.創(chuàng)建全面地自動(dòng)化測(cè)試套件
3.保持較短地構(gòu)建和測(cè)試過(guò)程
4.管理開(kāi)發(fā)工作區(qū)
實(shí)現(xiàn)持續(xù)集成地必要實(shí)踐
1.構(gòu)建失敗后不要提交新的代碼
2.提交前在本地運(yùn)行所有的提交測(cè)試,或者讓持續(xù)集成呢個(gè)服務(wù)器完成此事
3.等提交測(cè)試通過(guò)后再繼續(xù)工作
4.回家之前,構(gòu)建必須處于成功狀態(tài)
5.時(shí)刻準(zhǔn)備著回滾到前一個(gè)版本
6.再回滾之前要規(guī)定一個(gè)修復(fù)時(shí)間
7.不要將失敗的測(cè)試注釋掉
8.為自己導(dǎo)致的問(wèn)題負(fù)責(zé)
9.測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
我的收獲&疑問(wèn)
收獲
- 以小步增量的方式頻繁的將修改后的代碼提交到主干上
- 在團(tuán)隊(duì)合作地時(shí)候應(yīng)該將代碼提交到主干上,而不是分支上。
- 持續(xù)集成可以縮短項(xiàng)目周期
- 持續(xù)集成有相應(yīng)地工具
- 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
疑問(wèn)
因?yàn)楸菊碌膬?nèi)容在之前的項(xiàng)目都基本進(jìn)行過(guò)實(shí)踐,所以沒(méi)有什么問(wèn)題