持續(xù)交付流水線

一其兴、什么是流水線

流水線這個詞起源于福特公司,1913年夸政,福特公司在汽車城底特律市建成了世界上第一條汽車裝配流水線元旬,使T型車成為大批量生產(chǎn)的開端,汽車裝配時間從12.5小時縮短到1.5小時,售價從開始的一輛850美元法绵,最后降到360美元箕速。

福特T型車流水線.jpg

什么是部署流水線

部署流水線是指軟件從版本控制庫到用戶手中這一過程的自動化表現(xiàn)形式。我們知道軟件的每一次變更都會經(jīng)歷一個復(fù)雜的流程才能發(fā)布朋譬,這一流程包括軟件的構(gòu)建以及后續(xù)的一系列的測試和部署盐茎,而部署流水線相當于是在給這一過程進行建模。

二徙赢、有效的分支管理策略

個人認為這些自動化過程要依賴有效的分支管理策略有助于持續(xù)部署習慣的養(yǎng)成字柠。需要進行版本控制的不僅是源代碼,還有測試代碼狡赐、構(gòu)建和部署腳本窑业、依賴的庫文件等,并且對構(gòu)建產(chǎn)物的版本控制也同樣重要枕屉。只有這些內(nèi)容都納入版本控制了常柄,才能夠確保所有的開發(fā)、測試搀擂、運維工作能夠更好的開展西潘。

例如:
分支開發(fā),主干發(fā)布

分支開發(fā).png

表現(xiàn)為接到需求后拉出分支哨颂,后面的開發(fā)都在分支上提交喷市,每個分支生命周期較長,并且可能有多個并行分支威恼,直到快要上線時甚至上線后才合并到主干品姓。
因為多個功能可以完全并行開發(fā),互不干擾箫措。還可以按每個功能特性拉出分支腹备,那么每次提交都是完整的功能特性,分支劃分明確斤蔓、版本控制的記錄也會比較清晰易懂馏谨。并且由于不同需求的開發(fā)進度不同,可以選擇某個先開發(fā)完成的功能特性進行合并附迷、發(fā)布惧互,而不會被其它分支上未完成的功能特性阻塞。

主干開發(fā)喇伯,分支發(fā)布

主干開發(fā).png

代碼提交到主干喊儡,可以做到真正的持續(xù)集成,在沖突形成的早期發(fā)現(xiàn)和解決問題稻据,避免后期的大量合并沖突艾猜,這樣的整體成本才是最低的买喧。另外主干會一直保持健康的狀態(tài),每次合入代碼并驗證后都可進行安全的發(fā)布匆赃。

Git Flow
主要是通過為功能開發(fā)淤毛、發(fā)布準備和維護分配獨立的分支,讓發(fā)布迭代過程更流暢算柳。嚴格的分支模型也為大型項目提供了一些非常必要的結(jié)構(gòu).雖然比功能分支工作流復(fù)雜幾分低淡,但提供了用于一個健壯的用于管理大型項目的框架。


git-flow

三瞬项、持續(xù)交付流水線四大要素

部署流水線全過程.jpg

雖然沒有標準流水線這樣的東西蔗蹋,但典型的持續(xù)交付流水線包括以下階段:構(gòu)建自動化、持續(xù)集成囱淋、測試自動化和部署自動化猪杭。

自動化構(gòu)建

流水線首先會構(gòu)建可執(zhí)行文件來創(chuàng)建可交付成果,構(gòu)建后的交付成果被傳遞到后續(xù)階段妥衣。開發(fā)人員實現(xiàn)的新特性被持續(xù)集成到代碼庫中皂吮,并被構(gòu)建和進行單元測試。并形成最直接的反饋循環(huán)税手,它可以通知開發(fā)團隊其應(yīng)用程序代碼的健康狀況蜂筹。

自動化測試

在測試自動化中,新版本的應(yīng)用程序經(jīng)過嚴格各項自動化測試冈止,包括功能自動化測試,性能測試候齿,壓力測試等熙暴,以確保其達到所有預(yù)期的應(yīng)用質(zhì)量。通過流水線驗證所有相關(guān)方面極為重要 - 無論是功能慌盯、安全性周霉、性能或合規(guī)性。該階段可能涉及不同類型的自動或手動測試亚皂。

持續(xù)集成

持續(xù)集成是軟件個人研發(fā)的部分向軟件整體部分交付俱箱,頻繁進行集成以便更快地發(fā)現(xiàn)其中的錯誤,其中包括代碼掃描、Code Review灭必、自動化測試狞谱。“快速失敗”禁漓,在對應(yīng)用沒有風險的情況下進行大量測試跟衅,并快速響應(yīng);最大限度地減少風險,降低修復(fù)錯誤代碼的成本;將重復(fù)性的手工流程自動化播歼,保持頻繁部署伶跷,快速生成可部署的軟件。

自動化部署

每次將應(yīng)用程序在開發(fā)環(huán)境,測試環(huán)境叭莫,準生產(chǎn)環(huán)境中都需要進行部署蹈集,但部署自動化的最關(guān)鍵時刻是生產(chǎn)環(huán)境。由于前面的階段已經(jīng)驗證了應(yīng)用的整體質(zhì)量雇初,所以部署已是一個低風險的步驟拢肆。部署可以分階段,可以將新版本最初只發(fā)布到生產(chǎn)環(huán)境的一部分抵皱,而非全部善榛,并在完全上線之前進行監(jiān)控。確認沒有問題后再全部發(fā)布到生產(chǎn)環(huán)境呻畸。部署是自動化的移盆,如果需要,它可以在幾分鐘內(nèi)為用戶提供可靠的新功能

四伤为、總結(jié)

持續(xù)交付流水線的前提就是自動化咒循,測試的完備性,反饋的及時性绞愚,以及團隊成員對于持續(xù)交付的相關(guān)實踐叙甸。
畢竟持續(xù)交付的價值絕不僅僅是快,在提升軟件交付效率之外位衩,軟件交付流程和規(guī)范裆蒸、保證軟件交付質(zhì)量、降低軟件發(fā)布風險糖驴,這才是最重要的僚祷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贮缕,隨后出現(xiàn)的幾起案子辙谜,更是在濱河造成了極大的恐慌,老刑警劉巖感昼,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件装哆,死亡現(xiàn)場離奇詭異,居然都是意外死亡定嗓,警方通過查閱死者的電腦和手機蜕琴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宵溅,“玉大人奸绷,你說我怎么就攤上這事〔懔幔” “怎么了号醉?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵反症,是天一觀的道長。 經(jīng)常有香客問我畔派,道長铅碍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任线椰,我火速辦了婚禮胞谈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘憨愉。我一直安慰自己烦绳,他們只是感情好,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布配紫。 她就那樣靜靜地躺著径密,像睡著了一般。 火紅的嫁衣襯著肌膚如雪躺孝。 梳的紋絲不亂的頭發(fā)上享扔,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音植袍,去河邊找鬼惧眠。 笑死,一個胖子當著我的面吹牛于个,可吹牛的內(nèi)容都是我干的氛魁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼厅篓,長吁一口氣:“原來是場噩夢啊……” “哼秀存!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起贷笛,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤应又,失蹤者是張志新(化名)和其女友劉穎宙项,沒想到半個月后乏苦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡尤筐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年汇荐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盆繁。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡掀淘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出油昂,到底是詐尸還是另有隱情革娄,我是刑警寧澤倾贰,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站拦惋,受9級特大地震影響匆浙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜厕妖,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一首尼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧言秸,春花似錦软能、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至俱恶,卻和暖如春雹嗦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背合是。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工了罪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人聪全。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓泊藕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親难礼。 傳聞我的和親對象是個殘疾皇子娃圆,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

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