<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

    軟件開(kāi)發(fā)為何采用持續(xù)集成

      在軟件開(kāi)發(fā)過(guò)程中,我們會(huì)涉及到配置管理、源碼控制、發(fā)布計(jì)劃、審計(jì)、符合性和集成,以及構(gòu)建測(cè)試和部署流程、驗(yàn)收測(cè)試、依賴管理和生產(chǎn)環(huán)境的創(chuàng)建與管理,很多人認(rèn)為這些與確定需求、實(shí)現(xiàn)需求、寫代碼相比,這些活動(dòng)并不那么重要,它只為是軟件開(kāi)發(fā)過(guò)程很小的一部分并且不需求多大的技術(shù)投入。其實(shí)不然,恰恰相反它們會(huì)消耗大量的時(shí)間和精力,而且是成功交付軟件的關(guān)鍵因素。假如沒(méi)有關(guān)注這一方面帶來(lái)的潛在風(fēng)險(xiǎn),就可能耗費(fèi)大量不必要的資金,甚至導(dǎo)致整個(gè)項(xiàng)目嚴(yán)重延期。

      如果沒(méi)有持續(xù)集成,我們可能會(huì)遇到下列問(wèn)題:

      1、如何將一個(gè)想法以最快的速度交付給用戶。

      2、如何協(xié)調(diào)開(kāi)發(fā)人員、測(cè)試人員,以及構(gòu)建和運(yùn)維人員在一起高效地工作。

      3、在發(fā)布當(dāng)天是否遇到很多的問(wèn)題,發(fā)布過(guò)程時(shí)候需要很長(zhǎng)的時(shí)間。

      4、是否在開(kāi)發(fā)完成之后才發(fā)布軟件,失敗后長(zhǎng)期的加班。

      5、如何快速的獲取用戶的反饋,并讓團(tuán)隊(duì)人員及時(shí)的改正。

      6、生產(chǎn)環(huán)境是否還是采用的手工部署,還在為不同環(huán)境之間的部署煩惱。

      7、在開(kāi)發(fā)過(guò)程中,應(yīng)用程序在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)無(wú)法運(yùn)行,無(wú)法驗(yàn)證每次修改的正確性。

      一行代碼的改動(dòng)需要花多長(zhǎng)時(shí)間才能部署上線,處理方式是否可重復(fù)且可靠呢?從決定做某種修改到該修改結(jié)果正式上線的這段時(shí)間稱為周期時(shí)間。對(duì)任何項(xiàng)目而言,它都是一個(gè)極為重要的度量標(biāo)準(zhǔn)。

      軟件開(kāi)發(fā)的首要任務(wù)是盡早交付有價(jià)值的軟件并讓客戶滿意,速度是至關(guān)重要的,因?yàn)槲唇桓兜能浖鸵馕吨杀尽H绻荒馨磿r(shí)按量的交付,就會(huì)產(chǎn)生不必要的成本浪費(fèi)。而為了更好的協(xié)調(diào)組內(nèi)人員高效的工作,在整個(gè)交付過(guò)程中,團(tuán)隊(duì)中的每一個(gè)成員都必須對(duì)每一個(gè)交付特性負(fù)責(zé),無(wú)論什么樣的修改都應(yīng)該觸發(fā)反饋流程,反饋應(yīng)該盡快發(fā)出,團(tuán)隊(duì)必須接受反饋,并依據(jù)它作出相應(yīng)的行動(dòng)??焖俚慕桓妒鼓隳軌蝌?yàn)證那些新開(kāi)發(fā)的特性或者修復(fù)的缺陷是否真的有用。

      為了達(dá)到短周期、高質(zhì)量的交付目標(biāo),發(fā)布軟件必須自動(dòng)且頻繁化。

      自動(dòng)化:構(gòu)建、部署、測(cè)試、發(fā)布

      頻繁化:頻繁發(fā)布,每個(gè)發(fā)布版本之間的差異會(huì)很小,大大減少與發(fā)布相關(guān)的風(fēng)險(xiǎn),且容易回滾,頻繁發(fā)布也會(huì)加快反饋速度。每當(dāng)有人提交代碼,就對(duì)整個(gè)應(yīng)用進(jìn)行構(gòu)建,執(zhí)行全面的自動(dòng)化測(cè)試,以驗(yàn)證其正確性。更重要的是,如果構(gòu)建或測(cè)試失敗了,開(kāi)發(fā)團(tuán)隊(duì)就要停下手頭的工作,立即修復(fù)它,時(shí)時(shí)刻刻都要讓正在開(kāi)發(fā)的軟件一直處于可工作的狀態(tài)。

      實(shí)現(xiàn)持續(xù)集成,你需要的:

      1、版本控制,所有涉及產(chǎn)品的都要加入到版本控制中,包括構(gòu)建與部署腳本。

      2、自動(dòng)化構(gòu)建,自動(dòng)化的構(gòu)建整個(gè)過(guò)程,縮短周期時(shí)間(Cycle time)。

      3、持續(xù)集成系統(tǒng),Jenkins, ThoughtWorks公司的Go,JeBrains的TeamCity等。

      提交代碼必須遵守以下原則:

      1、查看構(gòu)建是否成功,如果失敗,停下手頭的工作和團(tuán)隊(duì)中的其他人一起修復(fù)。

      2、如果構(gòu)建且測(cè)試全部通過(guò),就從版本控制庫(kù)中的代碼更新到自己的開(kāi)發(fā)環(huán)境上。

      3、在自己的修改上重新構(gòu)建,運(yùn)行所有的測(cè)試,確保在自己機(jī)器上的代碼都是正確的且工作正常。

      4、如果本地構(gòu)建成功, 再?gòu)陌姹緲?gòu)建庫(kù)中更新代碼到本地, 再做一次構(gòu)建,如果成功的話,就提交本地的修改到版本庫(kù)中。

      5、在遠(yuǎn)程持續(xù)集成服務(wù)器上再次構(gòu)建包含你的這次提交的構(gòu)建結(jié)果(通常是自動(dòng)的)。

      6、如果構(gòu)建失敗,就停下手中的事,在自己的開(kāi)發(fā)機(jī)上修復(fù)這個(gè)問(wèn)題后,再重新回到步驟3.。

      7、構(gòu)建成功,小慶祝一下,并開(kāi)始下一項(xiàng)任務(wù)。

      持續(xù)集成縮短從想法到商業(yè)價(jià)值實(shí)現(xiàn)的時(shí)間,減少時(shí)間和降低風(fēng)險(xiǎn),增加反饋,改進(jìn)負(fù)責(zé)交付的開(kāi)發(fā)、測(cè)試和運(yùn)維人員之間的協(xié)作關(guān)系。

    posted on 2012-06-25 09:39 順其自然EVO 閱讀(271) 評(píng)論(0)  編輯  收藏 所屬分類: qtp 、selenium and watir webdrivers 自動(dòng)化測(cè)試學(xué)習(xí)

    <2012年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产成人免费福利网站| 亚洲精品第一国产综合亚AV| 又大又硬又爽免费视频| 4399影视免费观看高清直播| 一级免费黄色大片| 亚洲日韩久久综合中文字幕| 亚洲视频一区在线观看| 中文字幕亚洲无线码| 日韩一区二区免费视频| 啦啦啦高清视频在线观看免费 | 老司机午夜性生免费福利| 亚洲一级黄色大片| 久久亚洲精品成人AV| 亚洲第一AAAAA片| 亚洲午夜无码片在线观看影院猛| 最好免费观看韩国+日本 | 亚洲国产日韩一区高清在线| 久久青青草原亚洲av无码| 国产精品免费一级在线观看| 67194成是人免费无码| 免费国产作爱视频网站| h在线观看视频免费网站| 怡红院免费的全部视频| eeuss影院www天堂免费| 一道本不卡免费视频| 一级毛片一级毛片免费毛片| 一区二区三区免费视频网站| 免费福利在线观看| 国产成人综合久久精品亚洲| 国产精品亚洲一区二区在线观看| 亚洲精品av无码喷奶水糖心| 亚洲av无一区二区三区| 亚洲AV成人片无码网站| 亚洲1区2区3区精华液| 亚洲av无码专区青青草原| 亚洲AV女人18毛片水真多| 亚洲AV色欲色欲WWW| 黄页网址在线免费观看| 一级成人a做片免费| 99在线免费观看| 色欲A∨无码蜜臀AV免费播|