一文秒懂CI, CD AND CD

CI很容易理解檩咱,就是持續(xù)集成舀寓。但是CD既可以指代碼持續(xù)交付斑唬,也可理解為代碼持續(xù)部署市埋。CI和CD之間有很多相似的部分黎泣,但是也有很大的區(qū)別。

持續(xù)集成(CONTINUOUS INTEGRATION)

在持續(xù)集成環(huán)境中缤谎,開發(fā)人員將會頻繁的提交代碼到主干抒倚。這些新提交在最終合并到主線之前,都需要通過編譯和自動化測試流進(jìn)行驗(yàn)證坷澡。這樣做是基于之前持續(xù)集成過程中很重視自動化測試驗(yàn)證結(jié)果托呕,以保障所有的提交在合并主線之后的質(zhì)量問題,對可能出現(xiàn)的一些問題進(jìn)行預(yù)警频敛。

持續(xù)交付(CONTINUOUS DELIVERY)

持續(xù)交付就是講我們的應(yīng)用發(fā)布出去的過程项郊。這個(gè)過程可以確保我們盡可能快的實(shí)現(xiàn)交付。這就意味著除了自動化測試姻政,我們還需要有自動化的發(fā)布流呆抑,以及通過一個(gè)按鍵就可以隨時(shí)隨地實(shí)現(xiàn)應(yīng)用的部署上線。

通過持續(xù)交付汁展,您可以決定每天鹊碍,每周,每兩周發(fā)布一次食绿,這完全可以根據(jù)自己的業(yè)務(wù)進(jìn)行設(shè)置侈咕。

但是,如果您真的希望體驗(yàn)持續(xù)交付的優(yōu)勢器紧,就需要先進(jìn)行小批量發(fā)布耀销,盡快部署到生產(chǎn)線,以便在出現(xiàn)問題時(shí)方便進(jìn)行故障排除铲汪。

持續(xù)部署(CONTINUOUS DEPLOYMENT)

如果我們想更加深入一步的話熊尉,就是持續(xù)部署了。通過這個(gè)方式掌腰,任何修改通過了所有已有的工作流就會直接和客戶見面狰住。沒有人為干預(yù)(沒有一鍵部署按鈕),只有當(dāng)一個(gè)修改在工作流中構(gòu)建失敗才能阻止它部署到產(chǎn)品線齿梁。

持續(xù)部署是一個(gè)很優(yōu)秀的方式催植,可以加速與客戶的反饋循環(huán),但是會給團(tuán)隊(duì)帶來壓力勺择,因?yàn)椴辉儆小鞍l(fā)布日”了创南。開發(fā)人員可以專注于構(gòu)建軟件,他們看到他們的修改在他們完成工作后幾分鐘就上線了省核「逭蓿基本上,當(dāng)開發(fā)人員在主分支中合并一個(gè)提交時(shí)气忠,這個(gè)分支將被構(gòu)建邻储、測試未桥,如果一切順利,則部署到生產(chǎn)環(huán)境中芥备。

合并CI CD and CD?

當(dāng)然舌菜,正如我所說萌壳,他們每部分都更加接近生產(chǎn)環(huán)境。你可以構(gòu)建自己的持續(xù)集成環(huán)境日月,然后袱瓮,一旦團(tuán)隊(duì)適應(yīng),你可以添加持續(xù)交付流爱咬,最后尺借,可以添加持續(xù)部署流到整個(gè)工作流中。

image

舉例CI, CD and CD 流水線

到底值不值這樣做呢?

持續(xù)集成:

你需要具備哪些條件:

你的團(tuán)隊(duì)需要為每個(gè)新功能精拟,代碼改進(jìn)燎斩,或者問題修復(fù)創(chuàng)建自動化測試用例。

你需要一個(gè)持續(xù)集成服務(wù)器蜂绎,它可以監(jiān)控代碼提交情況栅表,對每個(gè)新的提交進(jìn)行自動化測試。

研發(fā)團(tuán)隊(duì)需要盡可能快的提交代碼师枣,至少每天一次提交怪瓶。

你能獲得什么呢?

通過自動化測試可以提早拿到回歸測試的結(jié)果践美,避免將一些問題提交到交付生產(chǎn)中

發(fā)布編譯將會更加容易洗贰,因?yàn)楹喜⒅跻呀?jīng)將所有問題都規(guī)避了

減少工作問題切換,研發(fā)可以很快獲得構(gòu)建失敗的消息陨倡,在開始下一個(gè)任務(wù)之前就可以很快解決敛滋。

測試成本大幅降低-你的CI服務(wù)器可以在幾秒鐘之內(nèi)運(yùn)行上百條測試。

你的QA團(tuán)隊(duì)花費(fèi)在測試上面的時(shí)間會大幅縮短玫膀,將會更加側(cè)重于質(zhì)量文化的提升上面矛缨。

持續(xù)交付

需要具備什么條件?

你需要有強(qiáng)大的持續(xù)集成組件和足夠多的測試項(xiàng)可以滿足你代碼的需求

部署需要自動化帖旨。觸發(fā)是手動的箕昭,但是部署一旦開始,就不能人為干預(yù)解阅。

你的團(tuán)隊(duì)可能需要接受特性開關(guān)落竹,沒有完成的功能模塊不會影響到線上產(chǎn)品。

你能收獲什么货抄?

繁瑣的部署工作沒有了述召。你的團(tuán)隊(duì)不在需要花費(fèi)幾天的時(shí)間去準(zhǔn)備一個(gè)發(fā)布朱转。

你可以更快的進(jìn)行交付,這樣就加快了與客戶之間的反饋環(huán)积暖。

輕松應(yīng)對小變更藤为,加速迭代

持續(xù)部署

需要具備的條件:

研發(fā)團(tuán)隊(duì)測試?yán)砟畋容^完善。測試單元的健壯性直接決定你的交付質(zhì)量夺刑。

你的文檔和部署頻率要保持一致缅疟。

特征標(biāo)志成為發(fā)布重大變化過程的固有部分,以確保您可以與其他部門(支持遍愿,市場營銷存淫,公關(guān)…)協(xié)調(diào)。

可以獲得什么沼填?

發(fā)布頻率更快桅咆,因?yàn)槟悴恍枰O聛淼却l(fā)布。每一處提交都會自動觸發(fā)發(fā)布流坞笙。

在小批量發(fā)布的時(shí)候岩饼,風(fēng)險(xiǎn)降低了,發(fā)現(xiàn)問題也可以很輕松的修復(fù)羞海。

客戶每天都可以看到我們的持續(xù)改進(jìn)和提升忌愚,而不是每個(gè)月或者每季度,或者每年却邓。

如前所述硕糊,您可以采用持續(xù)集成,持續(xù)交付和持續(xù)部署腊徙。你怎么做取決于你的需求和你的業(yè)務(wù)情況简十。如果你剛剛開始一個(gè)項(xiàng)目,并且還沒有客戶撬腾,那么你就可以去創(chuàng)建這些工作流螟蝙,最好是將這三個(gè)方面都實(shí)現(xiàn),并且在你的項(xiàng)目迭代和需求增長中同時(shí)迭代它們民傻。如果您已經(jīng)有一個(gè)生產(chǎn)項(xiàng)目胰默,那么您可以一步一步地分階段去實(shí)現(xiàn)他們。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末漓踢,一起剝皮案震驚了整個(gè)濱河市牵署,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喧半,老刑警劉巖奴迅,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挺据,居然都是意外死亡取具,警方通過查閱死者的電腦和手機(jī)脖隶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暇检,“玉大人产阱,你說我怎么就攤上這事】槠停” “怎么了心墅?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長榨乎。 經(jīng)常有香客問我,道長瘫筐,這世上最難降的妖魔是什么蜜暑? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮策肝,結(jié)果婚禮上肛捍,老公的妹妹穿的比我還像新娘。我一直安慰自己之众,他們只是感情好拙毫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著棺禾,像睡著了一般缀蹄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膘婶,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天缺前,我揣著相機(jī)與錄音,去河邊找鬼悬襟。 笑死衅码,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脊岳。 我是一名探鬼主播逝段,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼割捅!你這毒婦竟也來了奶躯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤棺牧,失蹤者是張志新(化名)和其女友劉穎巫糙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颊乘,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡参淹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年醉锄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浙值。...
    茶點(diǎn)故事閱讀 39,992評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恳不,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出开呐,到底是詐尸還是另有隱情烟勋,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布筐付,位于F島的核電站卵惦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏瓦戚。R本人自食惡果不足惜沮尿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望较解。 院中可真熱鬧畜疾,春花似錦、人聲如沸印衔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奸焙。三九已至瞎暑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間与帆,已是汗流浹背金顿。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鲤桥,地道東北人揍拆。 一個(gè)月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像茶凳,于是被迫代替她去往敵國和親嫂拴。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評論 2 355

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

  • 當(dāng)我們在談?wù)摤F(xiàn)代的軟件編譯和發(fā)布流程的時(shí)候贮喧,經(jīng)常會聽到CI和CD這樣的縮寫短語筒狠。這里我們將給大家介紹它們之間的區(qū)別...
    ServiceHot閱讀 1,571評論 0 2
  • 簡述 從剛開始的時(shí)候兩眼一抹黑,到磕磕碰碰的終于讓測試包可以在代碼提交的時(shí)候順利的自動構(gòu)建箱沦,團(tuán)隊(duì)終于向CI和CD的...
    天高愉悅閱讀 1,276評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理辩恼,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 望蒼穹 墨色浸染 月如勾 晚來風(fēng) 拂面微涼 似閑愁 思經(jīng)年 歲月悠悠 已白頭 來時(shí)路 愛恨情仇 已隨風(fēng) ...
    寶寶天線閱讀 194評論 0 0
  • 這段日子就沒好好睡過灶伊,今天這精疲力竭的一鬧疆前,令熊倚在易兆風(fēng)懷里呼吸漸漸低緩下來。他就這么抱著她聘萨,再也不敢動彈竹椒。淚水...
    籽鹽閱讀 435評論 0 1