亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件開發(fā)過程的持續(xù)集成探討

        2013-06-04 07:09:12蔣苗林

        蔣苗林

        【摘 要】目前軟件開發(fā)越來越多采用敏捷開發(fā)方式,敏捷開發(fā)在軟件工程領(lǐng)域中得到廣泛應(yīng)用,如何能在不斷變化的需求中快速適應(yīng)和保證軟件的質(zhì)量也顯得尤為重要,持續(xù)集成在軟件開發(fā)的應(yīng)用能夠快速提供版本和完成驗證交付。

        【關(guān)鍵詞】軟件開發(fā);持續(xù)集成;Jenkins

        0.前言

        持續(xù)集成是一種軟件開發(fā)實踐,對于提高軟件開發(fā)效率并保障軟件開發(fā)質(zhì)量提供了理論基礎(chǔ)。本文通過具體實例,介紹了如何借助持續(xù)集成工具提高軟件生產(chǎn)力。

        1.當前公司的版本發(fā)布工作

        當前各個公司的版本發(fā)布工作差異很大,有些公司沒有每日編譯版本,等到正式發(fā)布時發(fā)布一下;有些公司則是寫一個腳本每天晚上定時編譯一下,第二天開發(fā)人員就可以使用前一晚上生成的版本;有些公司使用持續(xù)集成工具編譯版本,代碼有更改時就會觸發(fā)編譯;還有些公司根據(jù)每日編譯的狀態(tài)觸發(fā)電子裝備,亮紅燈或綠燈來顯示版本的狀態(tài),有些甚至利用發(fā)聲裝備發(fā)出導致版本編譯失敗的代碼上傳者的名字。

        可見各個公司在持續(xù)集成方面的投入差異巨大,持續(xù)集成投入越多,軟件版本交付能力就會越強,軟件生產(chǎn)力也就越高。

        2.持續(xù)集成的核心價值

        (1)持續(xù)集成中的任何一個環(huán)節(jié)都是自動完成的無需太多的人工干預,有利于減少重復過程以節(jié)省時間、費用和工作量。

        (2)持續(xù)集成保障了每個時間點上團隊成員提交的代碼是能成功集成的。換言之,任何時間點都能第一時間發(fā)現(xiàn)軟件的集成問題,使任意時間發(fā)布可部署的軟件成為了可能。

        (3)持續(xù)集成還能利于軟件本身的發(fā)展趨勢,這點在需求不明確或是頻繁性變更的情景中尤其重要,持續(xù)集成的質(zhì)量能幫助團隊進行有效決策,同時建立團隊對開發(fā)產(chǎn)品的信心。

        3.持續(xù)集成的原則包括

        (1)需要版本控制軟件保障團隊成員提交的代碼不會導致集成失敗。常用的版本控制軟件有IBM Rational ClearCase、CVS、SVN等。

        (2)開發(fā)人員必須及時向版本控制庫中提交代碼,也必須經(jīng)常性地從版本控制庫中更新代碼到本地。

        (3)需要有專門的集成服務(wù)器來執(zhí)行集成構(gòu)建。根據(jù)項目的具體實際,集成構(gòu)建可以被軟件的修改來直接觸發(fā),也可以定時啟動,如每1小時構(gòu)建一次,還可以由上游項目編譯成功后觸發(fā)。

        (4)必須保證構(gòu)建的成功。如果構(gòu)建失敗,修復構(gòu)建過程中的錯誤是優(yōu)先級最高的工作。一旦修復,需要手動啟動一次構(gòu)建。

        4.持續(xù)集成工具介紹

        4.1持續(xù)集成工具主要分兩大類,開源的和商用的

        (1)開源工具。

        CruiseControl、Hudson、LuntBuild

        (2)商用工具。

        TeamCity、AntHill Pro、Bamboo、QuickBuild

        CruiseControl和LuntBuild在持續(xù)集成領(lǐng)域進入較早,Hudson作為OpenSource里持續(xù)集成的后起之秀,現(xiàn)在已經(jīng)趕超了這兩個前輩,目前恐怕是使用最多的一個CI Server了。國外使用商用的工具多些,而在國內(nèi)用開源的多些,其中Hudson工具使用較為廣泛,現(xiàn)在叫Jenkins,是基于Java開發(fā)的一種持續(xù)集成工具,它主要包括:

        (1)持續(xù)的軟件版本發(fā)布/測試項目。

        (2)監(jiān)控外部調(diào)用執(zhí)行的工作。

        4.2 Jenkins具有以下突出的特點

        (1)開源免費,容易安裝,只需要執(zhí)行Java-jar jenkins.war即可。

        (2)容易配置,可以通過友好的webGUI來配置,幾乎每個配置都有幫助信息提示。

        (3)跨平臺,幾乎支持所有的平臺,例如Windows,Ubuntu/Debian,RedHat/Fedora/CentOS,MacOSX,openSUSE,F(xiàn)reeBSD,OpenBSD,Solaris/OpenIndiana.Gentoo。

        (4)master/slave支持分布式的build,jenkins能夠分發(fā)build/test的負載到多臺機器,能夠更好地利用硬件資源,提高build的時間。

        (5)插件支持,已有200多個插件,可通過第三方的插件來擴展。

        (6)Junit/TestNG測試報告,能夠很好地顯示各種測試的報告,且可以生成失敗的趨向圖。

        5.應(yīng)用舉例

        (1)某產(chǎn)品開發(fā)部有驅(qū)動、軟件等小組,各小組的代碼是各自管理的,但接口文件是共同的。假如軟件小組的某個頭文件修改的時候驅(qū)動小組也需要同步修改,該文件受軟件小組管理,驅(qū)動小組需要同步,如果靠人工每天去看對方的頭文件是否更改,比較費時,也容易漏掉。如果你使用Jenkins工具新建一線程,專門檢測對方的接口文件,當然對方該部分代碼需要給對方小組某成員開讀權(quán)限,當檢測到對方頭文件有修改時則將該文件check到本地,然后再check自己的代碼,將對方的接口文件上傳到自己的庫里。完成后再觸發(fā)郵件系統(tǒng)將郵件發(fā)送到相關(guān)開發(fā)人員。這樣開發(fā)人員能夠把更多的精力花在關(guān)鍵事務(wù)上。

        (2)上傳代碼到自動化測試一氣呵成。某部門開發(fā)一套指紋識別項目,開發(fā)人員優(yōu)化該項目時,由于優(yōu)化過程是持續(xù)累積的過程,每天可能都能提高一點,當開發(fā)人員將階段性的成果上傳到代碼庫中,系統(tǒng)按設(shè)置的一定時間間隔完成編譯并將編譯庫放到服務(wù)器,自動化測試程序也會每隔一定時間去取這個庫,并運行程序,并將運行結(jié)果直接發(fā)送到開發(fā)人員工作信箱里。開發(fā)人員也能很快速方便地看到自己優(yōu)化的結(jié)果。

        6.結(jié)語

        工欲善其事,必先利其器。軟件開發(fā)也要借助于提高軟件生產(chǎn)力的工具,持續(xù)集成工具能夠把開發(fā)人員從繁瑣的代碼同步、版本發(fā)布、查找編譯失敗等工作中解脫出來,讓開發(fā)人員把精力聚焦在核心業(yè)務(wù)上。

        【參考文獻】

        [1]Jez Humble David Farley.持續(xù)交付發(fā)布可靠軟件的系統(tǒng)方法[M].北京:人民郵電出版社,2011:50-51.

        国产精品-区区久久久狼| 老女老肥熟女一区二区| 猫咪av成人永久网站在线观看| 亚洲欧美精品aaaaaa片| 亚洲日本无码一区二区在线观看| 青青草成人免费播放视频| 亚洲youwu永久无码精品| 中文字幕在线播放| 国产乱人伦偷精品视频免| 亚洲伊人伊成久久人综合| 欧美老妇牲交videos| 少妇放荡的呻吟干柴烈火动漫| 亚洲国产成人久久综合一区77 | av无码国产精品色午夜| 亚洲欧美日韩中文在线制服| 精品亚洲女同一区二区| 久久狼人国产综合精品| 国产激情无码视频在线播放性色| 激情 人妻 制服 丝袜| 久久99亚洲网美利坚合众国| 国产成人av三级在线观看韩国| 国产精品久久久久精品一区二区| 欧美丰满大爆乳波霸奶水多| 亚洲av套图一区二区| 亚洲最大中文字幕在线| 欧美精品videossex少妇| 日本精品网| 久久影院最新国产精品| 国产果冻豆传媒麻婆精东| 国产亚洲婷婷香蕉久久精品| 精选二区在线观看视频| 最新中文字幕人妻少妇| 日韩av精品国产av精品| 日韩偷拍一区二区三区视频| 深夜福利国产精品中文字幕| 疯狂添女人下部视频免费| 国产成人久久精品二区三区牛| 一区二区三区国产大片| 中文字幕在线观看| 国产亚洲精品aaaa片app| 青青草视频在线你懂的|