持續(xù)交付(第七章)—提交階段

在上一章中了解到如何將構(gòu)建與部署腳本化瘤睹,腳本通常都是幫助我們進(jìn)行構(gòu)建杠览,測(cè)試,部署和發(fā)布應(yīng)用的所有自動(dòng)化命令集研底。并且在項(xiàng)目中腳本系統(tǒng)應(yīng)該是一等公民。而本章的內(nèi)容在之前的章節(jié)都有所提及透罢,但是本章會(huì)更加詳細(xì)的討論如何創(chuàng)建有效的提交階段和高效的提交測(cè)試榜晦。

提交階段流程

當(dāng)有人向版本控制系統(tǒng)的主干上提交了一次變更后,持續(xù)集成服務(wù)器會(huì)發(fā)現(xiàn)這次變更羽圃,并將代碼簽出乾胶,執(zhí)行一系列的任務(wù),包括:

  • 編譯
  • 創(chuàng)建能部署在所有環(huán)境的二進(jìn)制包
  • 執(zhí)行必要的分析朽寞,檢查代碼庫(kù)的健康狀況
  • 創(chuàng)建部署流水線(xiàn)的后續(xù)階段需要使用的其他產(chǎn)物

提交階段的原則和實(shí)踐

提交階段的首要目標(biāo)是要么創(chuàng)建可部署的產(chǎn)物识窿,要么快速失敗并將失敗原因通知給團(tuán)隊(duì),下面列出建立高效提交階段的原則和實(shí)踐愁憔。

1.提供快速有用的反饋
2.何時(shí)令提交失敗
3.精心對(duì)待提交階段
4.讓開(kāi)發(fā)人員也也擁有所有權(quán)
5.在超大項(xiàng)目團(tuán)隊(duì)中指定一個(gè)構(gòu)建負(fù)責(zé)人

提交階段的結(jié)果

與部署流水線(xiàn)的所有階段一樣腕扶,提交階段既有輸入也有輸出,輸入是源代碼吨掌,輸出是二進(jìn)制包和報(bào)告。產(chǎn)生的報(bào)告包括測(cè)試結(jié)果和代碼庫(kù)的分析報(bào)告脓恕。分析報(bào)告可能包括測(cè)試覆蓋率膜宋,圈復(fù)雜度,復(fù)制粘貼分析炼幔,輸入輸出分析秋茫。

而我們提交階段的所有輸出都會(huì)存放在制品庫(kù)中,一般來(lái)說(shuō)大家都會(huì)直接想到版本控制系統(tǒng)乃秀,但這并不是我們最好的選擇肛著,這樣我們的硬盤(pán)容量會(huì)被快速的占領(lǐng)。我們可以使用持續(xù)集成服務(wù)器所自帶的制品庫(kù)進(jìn)行存放跺讯。

提交測(cè)試套件的原則與重要實(shí)踐

測(cè)試套件中占最多的應(yīng)該是單元測(cè)試枢贿,因?yàn)樗粻砍锻獠肯到y(tǒng)的調(diào)用,能夠及時(shí)反饋刀脏,測(cè)試覆蓋率可達(dá)80%局荚。
1.避免用戶(hù)界面
2.使用依賴(lài)注入
3.避免使用數(shù)據(jù)庫(kù)
4.在單元測(cè)試中避免異步
5.使用測(cè)試替身

總結(jié)

我的疑惑

  • 根據(jù)之前的章節(jié),提交至版本控制系統(tǒng)的代碼都應(yīng)該是正確可運(yùn)行的,那這個(gè)時(shí)候持續(xù)集成服務(wù)器發(fā)現(xiàn)變更后耀态,簽出代碼會(huì)跑測(cè)試么轮傍?還有必要么?首装,其中我覺(jué)得測(cè)試下代碼覆蓋率创夜,圈復(fù)雜度是有必要。
  • 構(gòu)建不應(yīng)該是系統(tǒng)自動(dòng)的一個(gè)行為仙逻,為什么會(huì)有一個(gè)較差的構(gòu)建系統(tǒng)會(huì)導(dǎo)致系統(tǒng)停止驰吓,是不是說(shuō)構(gòu)建也可以人為的來(lái)設(shè)計(jì)?
  • 圈復(fù)雜度

谷歌結(jié)果:在軟件測(cè)試的概念里桨醋,圈復(fù)雜度用來(lái)衡量一個(gè)模塊判定結(jié)構(gòu)的復(fù)雜程度棚瘟,數(shù)量上表現(xiàn)為獨(dú)立現(xiàn)行路徑條數(shù),即合理的預(yù)防錯(cuò)誤所需測(cè)試的最少路徑條數(shù)

  • 復(fù)制粘貼分析
    谷歌了沒(méi)有找到合適的解釋?zhuān)瑐€(gè)人理解是對(duì)項(xiàng)目中代碼的相似性做以分析喜最。

  • 輸入輸出分析是怎么進(jìn)行分析的

  • 依賴(lài)注入和內(nèi)存數(shù)據(jù)庫(kù)

  • 樁技術(shù)和模擬技術(shù)是如何區(qū)分的偎蘸,個(gè)人理解樁技術(shù)就是聲明一個(gè)靜可用數(shù)據(jù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瞬内,一起剝皮案震驚了整個(gè)濱河市迷雪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌虫蝶,老刑警劉巖章咧,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異能真,居然都是意外死亡赁严,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)粉铐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)疼约,“玉大人,你說(shuō)我怎么就攤上這事蝙泼〕贪” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵汤踏,是天一觀的道長(zhǎng)织鲸。 經(jīng)常有香客問(wèn)我,道長(zhǎng)溪胶,這世上最難降的妖魔是什么搂擦? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮载荔,結(jié)果婚禮上盾饮,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好丘损,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布普办。 她就那樣靜靜地躺著,像睡著了一般徘钥。 火紅的嫁衣襯著肌膚如雪衔蹲。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天呈础,我揣著相機(jī)與錄音舆驶,去河邊找鬼。 笑死而钞,一個(gè)胖子當(dāng)著我的面吹牛沙廉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播臼节,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼撬陵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了网缝?” 一聲冷哼從身側(cè)響起巨税,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粉臊,沒(méi)想到半個(gè)月后草添,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扼仲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年远寸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屠凶。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡而晒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出阅畴,到底是詐尸還是另有隱情,我是刑警寧澤迅耘,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布贱枣,位于F島的核電站,受9級(jí)特大地震影響颤专,放射性物質(zhì)發(fā)生泄漏纽哥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一栖秕、第九天 我趴在偏房一處隱蔽的房頂上張望春塌。 院中可真熱鬧,春花似錦、人聲如沸只壳。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吼句。三九已至锅必,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惕艳,已是汗流浹背搞隐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留远搪,地道東北人劣纲。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像谁鳍,于是被迫代替她去往敵國(guó)和親癞季。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • 提交階段 當(dāng)項(xiàng)目狀態(tài)更改時(shí)棠耕,提交階段就開(kāi)始余佛。當(dāng)它結(jié)束時(shí),你要么得到失敗報(bào)告窍荧,要么得到后續(xù)測(cè)試和發(fā)布階段可用的二進(jìn)制...
    落花的季節(jié)閱讀 438評(píng)論 0 0
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,112評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理辉巡,服務(wù)發(fā)現(xiàn),斷路器蕊退,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 沒(méi)聽(tīng)過(guò)道別還要專(zhuān)門(mén)寫(xiě)篇文的郊楣,我這么想著,寫(xiě)下這篇文瓤荔。 不知道會(huì)寫(xiě)多長(zhǎng)净蚤。 我對(duì)自己說(shuō),該做個(gè)有始有終的人输硝,所以有開(kāi)頭...
    梅涼閱讀 789評(píng)論 41 50