《持續(xù)交付-發(fā)布可靠軟件的系統(tǒng)方法》讀書筆記-持續(xù)集成

《持續(xù)交付-發(fā)布可靠軟件的系統(tǒng)方法》全書51.2萬字件豌,15章,384頁控嗜。本次閱讀第三章持續(xù)集成,大概42頁骡显。

持續(xù)交付

持續(xù)集成最早出現(xiàn)在Kent Beck寫的《解析極限編程》一書中疆栏,主要思想:既然經(jīng)常對代碼庫進(jìn)行集成對我們有好處,為什么不隨時(shí)做集成呢惫谤?《持續(xù)交付》第三章主要講述如何實(shí)現(xiàn)持續(xù)集成壁顶。

在本書中,對持續(xù)集成的定義如下:持續(xù)集成是一種軟件開發(fā)實(shí)踐溜歪。在持續(xù)集成中若专,團(tuán)隊(duì)成員頻繁集成他們的工作成果,一般每人每天至少集成一次,也可以多次蝴猪。每次集成會(huì)經(jīng)過自動(dòng)構(gòu)建(包括自動(dòng)測試)的檢驗(yàn)调衰,以盡快發(fā)現(xiàn)集成錯(cuò)誤。自從在團(tuán)隊(duì)中引入這樣的實(shí)踐之后自阱,Martin Fowler發(fā)現(xiàn)這種方法可以顯著減少集成引起的問題嚎莉,并可以加快團(tuán)隊(duì)合作軟件開發(fā)的速度。

1沛豌、實(shí)現(xiàn)持續(xù)集成

1.1 準(zhǔn)備工作

1.版本控制

使用SVN或者git免費(fèi)工具可以進(jìn)行版本控制趋箩。

2.自動(dòng)化構(gòu)建

有以下理由持續(xù)推進(jìn)自動(dòng)化構(gòu)建:

- 能夠在持續(xù)集成環(huán)境中以自動(dòng)化的方式來執(zhí)行整個(gè)構(gòu)建過程,以便出現(xiàn)問題時(shí)能夠?qū)徲?jì)加派。

- 應(yīng)將構(gòu)建腳本與代碼庫同等對待叫确。應(yīng)該對它測試,不斷重構(gòu)芍锦,以便使它保持整潔且容易理解竹勉。

- 使理解、維護(hù)和調(diào)試構(gòu)建過程更容易醉旦,并有利于和運(yùn)維人員更好的協(xié)作饶米。

3.團(tuán)隊(duì)共識

團(tuán)隊(duì)認(rèn)同:“修復(fù)破壞應(yīng)用程序的任意修改是最高優(yōu)先級的任務(wù)”。

2 持續(xù)集成的前提條件

2.1. 頻繁提交

2.2 創(chuàng)建全面的自動(dòng)化測試套件

三類測試在持續(xù)集成構(gòu)建中使用:單元測試车胡,組件測試和驗(yàn)收測試檬输。

將驗(yàn)收測試按照功能模塊分組通常是可取的。這樣匈棘,當(dāng)僅修改了系統(tǒng)中的個(gè)別模塊功能時(shí)丧慈,就可以單獨(dú)運(yùn)行影響系統(tǒng)這部分功能的驗(yàn)證測試。很多單元測試框架都是提供這樣的分組功能。

2.3 保持較短的構(gòu)建和測試過程

2.4 管理開發(fā)工作區(qū)

三點(diǎn):1)細(xì)心的配置管理 逃默;2)對第三方以來的配置管理 鹃愤;3)確保自動(dòng)化測試在開發(fā)機(jī)可以運(yùn)行。

3 使用持續(xù)交付軟件

3.1 基本操作

兩個(gè)部分:每隔一段時(shí)間周期運(yùn)行一次工作流程完域;提供展示運(yùn)行結(jié)果的視圖软吐。

3.2 鈴聲和口哨

失敗可以用燈等設(shè)備提示,可以在流程加入圈復(fù)雜度吟税,重復(fù)代碼凹耙,靜態(tài)檢查等環(huán)節(jié)。

4 必不可少的實(shí)踐

持續(xù)集成是一種實(shí)踐肠仪,不是一個(gè)工具肖抱,他的有效性依賴于團(tuán)隊(duì)紀(jì)律。

4.1 構(gòu)建失敗后不要提交新代碼异旧。

4.2 提交前意述,在本地運(yùn)行所有的提交測試∷庇迹或者讓持續(xù)集成服務(wù)器完成此事荤崇。

功能:預(yù)測試提交,個(gè)人構(gòu)建匹涮。

4.3 等測試提交通過后再繼續(xù)工作天试。

4.4 回家之前,構(gòu)建必須處于成功狀態(tài)然低。

4.5 時(shí)刻準(zhǔn)備著回滾到前一個(gè)版本

4.6 在回滾之前要規(guī)定一個(gè)修復(fù)時(shí)間

4.7 不要將失敗的測試注釋掉

4.8 為自己導(dǎo)致的問題負(fù)責(zé)

4.9 測試驅(qū)動(dòng)的開發(fā)

5 推薦的實(shí)踐

5.1 極限編程開發(fā)實(shí)踐

重構(gòu)作為高效軟件的開發(fā)基石喜每。持續(xù)改進(jìn)和測試驅(qū)動(dòng)開發(fā)讓TDD成為可能。

5.2 若違背架構(gòu)原則雳攘,就讓構(gòu)建失敗

5.3 若測試運(yùn)行變慢带兜,就讓構(gòu)建失敗

5.4 若編譯告警或代碼風(fēng)格問題,就讓測試失敗

6 分布式團(tuán)隊(duì)

6.1 對流程的影響

信任很重要吨灭,同時(shí)視頻會(huì)議相互了解功能和進(jìn)展刚照。

6.2 集中式持續(xù)集成

集中式的持續(xù)集成是一種雙贏的實(shí)踐。

6.3 技術(shù)問題

推薦Git

6.4 替代方法

兩個(gè)方式:分解系統(tǒng)為多個(gè)組件喧兄;使用分布式版本控制系統(tǒng)

7 分布式版本控制系統(tǒng)

介紹github的設(shè)計(jì)思想无畔。

小結(jié):

總之,一個(gè)好的持續(xù)集成系統(tǒng)是基石吠冤,在此之上你可以構(gòu)建更多的基礎(chǔ)設(shè)施:

--一個(gè)巨大的可視化指示器浑彰,用于顯示構(gòu)建系統(tǒng)所搜集到的信息,以便提供高質(zhì)量的反饋拯辙;

- 結(jié)果報(bào)告系統(tǒng)郭变,以及針對自己測試團(tuán)隊(duì)的安裝包颜价。

- 為項(xiàng)目經(jīng)理提供關(guān)于系統(tǒng)質(zhì)量的數(shù)據(jù)報(bào)告

- 使用部署流水線,可以將其延展到生產(chǎn)環(huán)境诉濒,為測試人員和運(yùn)維團(tuán)隊(duì)提供一鍵式部署系統(tǒng)周伦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市未荒,隨后出現(xiàn)的幾起案子专挪,更是在濱河造成了極大的恐慌,老刑警劉巖片排,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狈蚤,死亡現(xiàn)場離奇詭異,居然都是意外死亡划纽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門锌畸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勇劣,“玉大人,你說我怎么就攤上這事潭枣”饶” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵盆犁,是天一觀的道長命咐。 經(jīng)常有香客問我,道長谐岁,這世上最難降的妖魔是什么醋奠? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮伊佃,結(jié)果婚禮上窜司,老公的妹妹穿的比我還像新娘。我一直安慰自己航揉,他們只是感情好塞祈,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著帅涂,像睡著了一般议薪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上媳友,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天斯议,我揣著相機(jī)與錄音,去河邊找鬼庆锦。 笑死捅位,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播艇搀,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼尿扯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了焰雕?” 一聲冷哼從身側(cè)響起衷笋,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矩屁,沒想到半個(gè)月后辟宗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吝秕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年泊脐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烁峭。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡容客,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出约郁,到底是詐尸還是另有隱情缩挑,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布鬓梅,位于F島的核電站供置,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏绽快。R本人自食惡果不足惜芥丧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谎僻。 院中可真熱鬧娄柳,春花似錦、人聲如沸艘绍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诱鞠。三九已至挎挖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間航夺,已是汗流浹背蕉朵。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阳掐,地道東北人始衅。 一個(gè)月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓冷蚂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親汛闸。 傳聞我的和親對象是個(gè)殘疾皇子蝙茶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容