<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无码一区二区| 人人狠狠综合久久亚洲| 毛片免费在线观看网站| 亚洲一区二区三区国产精华液| 国产成人yy免费视频| 亚洲伊人久久大香线蕉结合| 最近的免费中文字幕视频| 亚洲码欧美码一区二区三区| 国产免费午夜a无码v视频| 无码的免费不卡毛片视频| 国产日产亚洲系列| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 免费毛片a在线观看67194| 亚洲人成日本在线观看| 思思99re66在线精品免费观看| 亚洲色www永久网站| 国产hs免费高清在线观看| 国产福利电影一区二区三区,免费久久久久久久精 | 一区二区免费国产在线观看| 2022中文字字幕久亚洲| 日韩电影免费观看| 亚洲一卡一卡二新区无人区| 免费人成网站7777视频| 国产免费一区二区三区不卡| 亚洲日韩中文字幕天堂不卡| 日韩免费视频播播| 中文字幕久无码免费久久| 亚洲第一精品电影网| 国产精品99久久免费| 你懂得的在线观看免费视频| 亚洲一区中文字幕| 亚洲精品无码你懂的网站| 99re6免费视频| 老子影院午夜伦不卡亚洲| 国产亚洲综合一区柠檬导航| 日本成年免费网站| 一级毛片a免费播放王色| 亚洲国产成人精品青青草原| 亚洲美女高清一区二区三区| 成人黄色免费网站|