CICD - 持續(xù)集成與持續(xù)交付

持續(xù)集成與持續(xù)交付是軟件開發(fā)和交付中的實(shí)踐雷滚。我們項(xiàng)目中一直在踐行持續(xù)集成(CI:Continuous Integration)述呐;持續(xù)交付(CD:Continuous Delivery)未能達(dá)到理想狀態(tài),只能實(shí)踐一部分疹吃。這篇文章用于總結(jié)CI/CD的實(shí)踐蹦疑。

持續(xù)集成

什么是持續(xù)集成?

軟件開發(fā)中萨驶,集成是一個(gè)很可能發(fā)生未知錯(cuò)誤的過程歉摧。持續(xù)集成是一種軟件開發(fā)實(shí)踐,希望團(tuán)隊(duì)中的成員頻繁提交代碼到代碼倉庫篡撵,且每次提交都能通過自動(dòng)化測試進(jìn)行驗(yàn)證判莉,從而使問題盡早暴露和解決。

持續(xù)集成的好處是什么育谬?

持續(xù)集成可以使問題盡早暴露券盅,從而也降低了解決問題的難度,正如老馬所說膛檀,持續(xù)集成無法消除bug锰镀,但卻能大大降低修復(fù)的難度和時(shí)間。

如何做到持續(xù)集成咖刃?

首先泳炉,持續(xù)集成需要:

1. 單一的代碼倉庫,團(tuán)隊(duì)成員都像該倉庫提交代碼嚎杨;

2. 自動(dòng)化構(gòu)建且構(gòu)建過程需要包含自動(dòng)化測試花鹅;

3. 有單獨(dú)的集成機(jī)器用于構(gòu)建;

4. 保證構(gòu)建速度不要太慢(曾經(jīng)有一個(gè)項(xiàng)目構(gòu)建需要20分鐘枫浙,就會(huì)很痛苦)刨肃;

5. 在類產(chǎn)品環(huán)境進(jìn)行測試;

6. 能夠方便獲取最新的可執(zhí)行程序箩帚;

7. 可視化真友,大家都能看到構(gòu)建過程及結(jié)果;

8. 自動(dòng)化部署紧帕。

其次盔然,我們通過以下步驟進(jìn)行持續(xù)集成:

1. 程序員將代碼下載到本地,并在完成修改后提交代碼;

2. CI服務(wù)器監(jiān)測代碼庫愈案,并在有提交時(shí)自動(dòng)觸發(fā)挺尾;

3. CI服務(wù)器對代碼進(jìn)行構(gòu)建,運(yùn)行單元測試和集成測試刻帚;

4. CI服務(wù)器發(fā)布可部署的artefact用于后續(xù)測試潦嘶,并加上本次構(gòu)建版本的標(biāo)簽。

5. CI服務(wù)器通知團(tuán)隊(duì)構(gòu)建成功或者失敵缰凇掂僵;失敗發(fā)生時(shí)團(tuán)隊(duì)需要盡快修復(fù),以免耽擱后續(xù)的持續(xù)集成過程顷歌,因?yàn)槭r(shí)處于持續(xù)集成的暫停階段锰蓬。

最后,需要就團(tuán)隊(duì)責(zé)任達(dá)成共識(shí):

1. 頻繁提交眯漩;

2. 提交之前確保測試通過芹扭;

3. 不在持續(xù)集成失敗時(shí)提交代碼;

4. 提交代碼后保證持續(xù)集成成功赦抖,不然不準(zhǔn)回家??

持續(xù)交付

什么是持續(xù)交付舱卡?

持續(xù)交付是持續(xù)集成的擴(kuò)展,指的是將通過自動(dòng)化測試的軟件部署到產(chǎn)品環(huán)境队萤。持續(xù)交付的本質(zhì)是把每個(gè)構(gòu)建成功的應(yīng)用更新交付給用戶使用轮锥。在持續(xù)交付的世界里,我們對完成的定義不是測試完成要尔,而是交付到客戶手中舍杜。這里需要注意的是,CD代表持續(xù)交付(Continuous Delivery)而不是持續(xù)部署(Continuous Deploy)赵辕,因?yàn)椴渴鹨舶ú渴鸬綔y試環(huán)境既绩,而持續(xù)交付代表的是功能的上線,交付給用戶使用还惠。

持續(xù)交付的好處是什么饲握?

持續(xù)交付的好處在于快速獲取用戶反饋;適應(yīng)市場變化和商業(yè)策略的變化蚕键。開發(fā)團(tuán)隊(duì)保證每次提交的修改都是可上線的修改互拾,那么決定何時(shí)上線,上線哪部分功能則完全由產(chǎn)品業(yè)務(wù)團(tuán)隊(duì)決定嚎幸。

雖然持續(xù)交付有顯著的優(yōu)點(diǎn),但也有不成立的時(shí)候寄猩,比如對于嵌入式系統(tǒng)的開發(fā)嫉晶,往往需要軟硬件的配合。

如何做到持續(xù)交付?

1. 保證每次提交的修改都是可上線的修改替废。

2. 完善的測試(包括單元測試箍铭,組件測試,驗(yàn)收測試)來測試新功能和進(jìn)行回歸測試椎镣;

3. 持續(xù)交付的前提條件是自動(dòng)化的集成和部署诈火;需要開發(fā)/測試/運(yùn)維人員一起完成。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末状答,一起剝皮案震驚了整個(gè)濱河市冷守,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惊科,老刑警劉巖拍摇,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異馆截,居然都是意外死亡充活,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門蜡娶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來混卵,“玉大人,你說我怎么就攤上這事窖张∧凰妫” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵荤堪,是天一觀的道長合陵。 經(jīng)常有香客問我,道長澄阳,這世上最難降的妖魔是什么拥知? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮碎赢,結(jié)果婚禮上低剔,老公的妹妹穿的比我還像新娘。我一直安慰自己肮塞,他們只是感情好襟齿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枕赵,像睡著了一般猜欺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拷窜,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天开皿,我揣著相機(jī)與錄音涧黄,去河邊找鬼。 笑死赋荆,一個(gè)胖子當(dāng)著我的面吹牛笋妥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窄潭,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼春宣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嫉你?” 一聲冷哼從身側(cè)響起月帝,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎均抽,沒想到半個(gè)月后嫁赏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡油挥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年潦蝇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片深寥。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡攘乒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惋鹅,到底是詐尸還是另有隱情则酝,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布闰集,位于F島的核電站沽讹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏武鲁。R本人自食惡果不足惜爽雄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沐鼠。 院中可真熱鬧挚瘟,春花似錦、人聲如沸饲梭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽憔涉。三九已至订框,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間兜叨,已是汗流浹背布蔗。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工藤违, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纵揍。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像议街,于是被迫代替她去往敵國和親泽谨。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

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