《持續(xù)交付》- 持續(xù)集成

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


持續(xù)集成是一種軟件開發(fā)實踐荐开,即團隊開發(fā)成員經(jīng)常集成他們的工作付翁,通過每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成晃听。每次集成都通過自動化的構(gòu)建(包括編譯百侧,發(fā)布,自動化測試)來驗證能扒,從而盡早地發(fā)現(xiàn)集成錯誤佣渴。

對于很多軟件項目來說,開發(fā)人員雖然可以做到在提交代碼后對代碼進行自動化的單元測試赫粥, 但基本上沒人會在試運行環(huán)境中去啟動并使用它观话。這樣便可能會發(fā)生一些潛在的問題。比如當開發(fā)結(jié)束后需要留出很長時間去集成越平,這個階段往往會很費時間频蛔,最糟糕的是沒人知道這將會花費多長時間才能完成集成灵迫。

所以我們應該盡早去做持續(xù)集成,而持續(xù)集成的目的就是讓軟件一直處于可工作的狀態(tài)晦溪。

二 實現(xiàn)持續(xù)集成


1瀑粥、準備工作

  • 版本控制:任何項目都應該使用版本控制
  • 自動化構(gòu)建
  • 團隊意識

2、一個基本的持續(xù)集成系統(tǒng)

  • 查看一下是否有構(gòu)建正在運行三圆,如果有的話狞换,等它完事,如果它失敗了舟肉,就和團隊的其他人把他一起修復修噪,然后再提交代碼
  • 一旦構(gòu)建完成且測試完全通過,就從版本控制庫中將該版本的代碼更新到自己的開發(fā)環(huán)境上
  • 在自己的開發(fā)機上執(zhí)行構(gòu)建腳本路媚,運行測試黄琼,以確保在你機器上的所有代碼都正常工作
  • 如果本地構(gòu)建成功,提交代碼
  • 然后等待你這次提交的構(gòu)建結(jié)果
  • 如果失敗了整慎,停下手中的活脏款,修復問題,轉(zhuǎn)到步驟3
  • 如果成功裤园,開始下個任務

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


1撤师、頻繁提交
2、創(chuàng)建全面的自動化測試套件

自動化測試的套件包括:

  • 單元測試:用來測試應用程序中某些小單元的行為(方法拧揽、函數(shù)...)剃盾,通常不需要啟動整個應用程序,也不需要連接數(shù)據(jù)庫强法、文件系統(tǒng)或網(wǎng)絡万俗。
  • 組件測試:用于測試應用程序中幾個組件的行為。它也不需要啟動整個應用程序饮怯,但有可能需要連接數(shù)據(jù)庫、訪問文件系統(tǒng)或其它外部系統(tǒng)或接口嚎研。
  • 驗收測試:用來驗證應用程序是否滿足厭惡需要所定應的驗收條件蓖墅,包括應用程序提供的功能,以及其它特定需求临扮。一般會將整個應用程序運行于類生產(chǎn)環(huán)境的運作方式论矾。

3、保持較短的構(gòu)建和測試過程
4杆勇、管理開發(fā)工作區(qū)

當開發(fā)人員開始工作的時候贪壳,應該總是從一個已知正確的狀態(tài)開始。

四 應該遵守的實踐


  • 構(gòu)建失敗之后不要提交新代碼
  • 提交前在本地運行所有的提交測試蚜退,或者讓持續(xù)集成服務器完成此事
  • 等提交測試通過之后再繼續(xù)工作
  • 回家之前闰靴,構(gòu)建必須處于成功狀態(tài)
  • 時刻準備著回滾到前一個版本
  • 按照持續(xù)集成的流程彪笼,前一個版本肯定是沒有問題的
  • 在回滾之前規(guī)定一個修復時間
  • 不要將失敗的測試注釋掉
  • 為自己的導致的問題負責
  • 測試驅(qū)動開發(fā)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚂且,隨后出現(xiàn)的幾起案子配猫,更是在濱河造成了極大的恐慌,老刑警劉巖杏死,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泵肄,死亡現(xiàn)場離奇詭異,居然都是意外死亡淑翼,警方通過查閱死者的電腦和手機腐巢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玄括,“玉大人系忙,你說我怎么就攤上這事』莶颍” “怎么了银还?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長洁墙。 經(jīng)常有香客問我蛹疯,道長,這世上最難降的妖魔是什么热监? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任捺弦,我火速辦了婚禮,結(jié)果婚禮上孝扛,老公的妹妹穿的比我還像新娘列吼。我一直安慰自己,他們只是感情好苦始,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布寞钥。 她就那樣靜靜地躺著,像睡著了一般陌选。 火紅的嫁衣襯著肌膚如雪理郑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天咨油,我揣著相機與錄音您炉,去河邊找鬼。 笑死役电,一個胖子當著我的面吹牛赚爵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冀膝,長吁一口氣:“原來是場噩夢啊……” “哼唁奢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起畸写,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤驮瞧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后枯芬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體论笔,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年千所,在試婚紗的時候發(fā)現(xiàn)自己被綠了狂魔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡淫痰,死狀恐怖最楷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情待错,我是刑警寧澤籽孙,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站火俄,受9級特大地震影響犯建,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓜客,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一适瓦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谱仪,春花似錦玻熙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卸例,卻和暖如春称杨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背筷转。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悬而,地道東北人呜舒。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像笨奠,于是被迫代替她去往敵國和親袭蝗。 傳聞我的和親對象是個殘疾皇子唤殴,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)到腥,斷路器朵逝,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評論 25 707
  • <<互聯(lián)網(wǎng)敏捷DevOps和自動化之5.持續(xù)集成>>持續(xù)集成的價值是什么?對于開發(fā)和測試人員又意味著什么呢乡范?1.1...
    燕京博士閱讀 2,785評論 0 5
  • 迎著清晨的陽光配名,起床,出發(fā)晋辆,一個小時的車程渠脉,告訴自己不遠,不累瓶佳。連續(xù)三芋膘、四個星期往醫(yī)院跑,身體終于有所好轉(zhuǎn)霸饲。...
    盧佩文閱讀 298評論 0 0
  • 你幸福嗎为朋?快樂嗎? 不是你有家財萬貫,妻妾成群厚脉。 幸福是比較出來的习寸。