• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SVN的軟件配置管理和持續(xù)集成

      2016-09-14 09:21:12姜文劉立康
      電子設(shè)計(jì)工程 2016年2期
      關(guān)鍵詞:配置管理開發(fā)人員基線

      姜文,劉立康

      (西安電子科技大學(xué) 通信工程學(xué)院,陜西 西安 710071)

      基于SVN的軟件配置管理和持續(xù)集成

      姜文,劉立康

      (西安電子科技大學(xué) 通信工程學(xué)院,陜西 西安710071)

      SVN是一款廣泛使用的配置管理工具,適合中小型軟件團(tuán)隊(duì)使用。本文敘述了SVN的特點(diǎn),介紹了配置管理的基本概念和相關(guān)角色;詳細(xì)介紹了基于SVN的軟件配置管理和持續(xù)集成,主要包括權(quán)限管理、SVN控制管理下的開發(fā)工作、建立編碼基線、構(gòu)建內(nèi)部轉(zhuǎn)測(cè)試版本、變更管理、版本管理等內(nèi)容;最后介紹了一個(gè)典型工作案例。工作實(shí)踐表明采用該管理方法有助于提高軟件質(zhì)量,便于項(xiàng)目管理者及時(shí)了解工作進(jìn)度和解決存在的問題。

      版本控制;配置管理;分支;標(biāo)簽;基線;持續(xù)集成

      軟件配置管理在軟件項(xiàng)目開發(fā)過程中起著重要的作用。目前國(guó)內(nèi)使用比較多的軟件配置管理工具有 ClearCase、SVN、Microsoft VSS等。ClearCase適合大型軟件團(tuán)隊(duì)使用,SVN適合中小型軟件團(tuán)隊(duì)使用。Microsoft VSS適合小型軟件團(tuán)隊(duì)使用。文中敘述了配置管理工具SVN的特點(diǎn),詳細(xì)介紹了在軟件開發(fā)過程中基于SVN的配置管理和持續(xù)集成,主要包括權(quán)限管理、SVN控制管理下的開發(fā)工作、建立編碼基線、構(gòu)建內(nèi)部轉(zhuǎn)測(cè)試版本、變更管理、版本管理等內(nèi)容。

      1 SVN的特點(diǎn)

      SVN[1-2]是 Subversion的簡(jiǎn)稱,是一個(gè)開源的配置管理工具。

      1.1SVN的特點(diǎn)

      1)版本管理

      SVN可以跟蹤單個(gè)文件和整個(gè)目錄樹的變更歷史。SVN會(huì)記錄每一次更改,包括增加、刪除和重新組織文件和目錄。每次變更SVN都會(huì)將版本號(hào)加1,修改文件、添加刪除文件、修改文件夾的SVN屬性,都會(huì)更新版本。

      2)原子提交方式

      一個(gè)更改集可以整體作為原子提交,即全部提交到版本庫(kù),或一個(gè)也不提交。

      3)一致的數(shù)據(jù)操作

      文本文件和二進(jìn)制文件采用統(tǒng)一的二進(jìn)制差異算法處理文件的變化。對(duì)于文本文件實(shí)現(xiàn)差異化存儲(chǔ),對(duì)于二進(jìn)制文件(圖像、可執(zhí)行文件)也可以實(shí)現(xiàn)差異化存儲(chǔ)。

      4)網(wǎng)絡(luò)上雙向傳遞差異信息

      從服務(wù)器到客戶端,或者從客戶端到服務(wù)器傳輸被修改的文件,只傳輸文件差異,而不是文件全部?jī)?nèi)容。

      5)支持分支(branch)和標(biāo)簽(tag)

      通過分支與合并,有效支持大項(xiàng)目的并行開發(fā)模式。通過標(biāo)簽管理,準(zhǔn)確標(biāo)識(shí)一組文件的版本,有效進(jìn)行軟件版本管理和必要時(shí)的歷史回溯。

      6)提供兩種服務(wù)模式

      一種是C/S模式,在客戶端使用SVN專門設(shè)計(jì)的協(xié)議訪問的SVN服務(wù)器。另一種是B/S模式,與Apache集成,在客戶端采用http的擴(kuò)展協(xié)議進(jìn)行訪問。

      7)支持兩種數(shù)據(jù)存儲(chǔ)方式

      SVN支持BDB數(shù)據(jù)庫(kù)和FSFS文件系統(tǒng)。

      1.2搭建配置管理環(huán)境

      SVN通常采用C/S架構(gòu),在服務(wù)器上安裝SVN服務(wù)器軟件,建立一個(gè)版本庫(kù)(Repository),將數(shù)據(jù)(項(xiàng)目)導(dǎo)入版本庫(kù)。在客戶端安裝Tortoise SVN軟件,用戶通過個(gè)人密碼登陸SVN服務(wù)器開展自己的工作。

      2 配置管理的基本概念

      2.1配置項(xiàng)

      配置項(xiàng)[4](Configuration Item),簡(jiǎn)稱 CI,是配置管理的基本單位,可以分為3種主要類別:計(jì)算機(jī)程序(源代碼和可執(zhí)行程序)、文檔和數(shù)據(jù)。

      2.2版本

      版本[6](Version)是標(biāo)識(shí)了的配置項(xiàng)的實(shí)例。在軟件開發(fā)過程中,配置項(xiàng)的版本隨項(xiàng)目進(jìn)展不斷變化,隨著內(nèi)容的修改或更新,配置項(xiàng)會(huì)有不同的版本號(hào)。

      2.3基線(Baseline)

      在軟件開發(fā)過程中,一個(gè)配置項(xiàng)或一組配置項(xiàng)在不同時(shí)間點(diǎn)上,通過正式評(píng)審進(jìn)入受控狀態(tài),就是基線[8]。

      基線建立之后,該基線的內(nèi)容被“凍結(jié)”,不能隨意修改?;€是下一步開發(fā)的出發(fā)點(diǎn)。對(duì)基線進(jìn)行修改要按照變更請(qǐng)求的過程處理。作為配置管理的基礎(chǔ),基線保證了后續(xù)開發(fā)活動(dòng)所需信息的穩(wěn)定性和一致性。

      軟件的主要階段基線見表1。

      表1 階段基線和相應(yīng)配置項(xiàng)列表Tab.1 The list of the corresponding configuration items and the phase of the baseline

      設(shè)計(jì)階段的基線,通常以文檔的形式存在。編碼基線和測(cè)試基線是開發(fā)階段基線,與軟件源代碼緊密相關(guān)。

      2.4版本庫(kù)

      版本庫(kù)[3,5,7]是軟件開發(fā)過程中存放產(chǎn)品數(shù)據(jù)的存儲(chǔ)空間。邏輯上版本庫(kù)可以分為開發(fā)庫(kù)(動(dòng)態(tài)庫(kù)、程序員庫(kù)、工作庫(kù))、受控庫(kù)(靜態(tài)庫(kù)、主庫(kù))、產(chǎn)品庫(kù)(軟件倉(cāng)庫(kù))。版本庫(kù)實(shí)際的物理存儲(chǔ)結(jié)構(gòu)根據(jù)軟件項(xiàng)目具體情況來確定。

      1)開發(fā)庫(kù):在開發(fā)過程中的技術(shù)文檔、源代碼、可執(zhí)行代碼和數(shù)據(jù)。

      2)受控庫(kù):修改權(quán)限受控的文檔庫(kù)和程序庫(kù),包括基線庫(kù)和其他軟件產(chǎn)品。

      3)產(chǎn)品庫(kù):交付用戶的產(chǎn)品和運(yùn)行環(huán)境。

      3 軟件配置管理的相關(guān)角色

      參與配置管理包括如下人員:項(xiàng)目經(jīng)理(PM)、系統(tǒng)工程師(SE)、軟件開發(fā)人員(DEV)、軟件測(cè)試人員、配置管理員(CMO)、持續(xù)集成工程師(CIE)、質(zhì)量保障人員(QA)、資料員。

      其中項(xiàng)目經(jīng)理、質(zhì)量保障人員、配置管理員、開發(fā)代表、測(cè)試代表、系統(tǒng)工程師組成產(chǎn)品配置控制委員會(huì)(CCB,Change Control Board)。CCB的職責(zé)為:建立、更改基線的設(shè)置,審核變更申請(qǐng);定制訪問控制;指導(dǎo)配置管理的各項(xiàng)活動(dòng);為項(xiàng)目經(jīng)理決策提供建議。

      4 軟件開發(fā)過程中的軟件配置管理和持續(xù)集成

      軟件開發(fā)過程可以分為3個(gè)階段:計(jì)劃階段、開發(fā)階段和維護(hù)階段。后兩個(gè)階段涉及的活動(dòng)是相同的,可以合為開發(fā)和維護(hù)階段。

      4.1項(xiàng)目配置管理計(jì)劃

      對(duì)于軟件項(xiàng)目,版本經(jīng)理要制定項(xiàng)目管理計(jì)劃。配置管理員根據(jù)項(xiàng)目管理計(jì)劃制定配置管理計(jì)劃。配置管理計(jì)劃的主要內(nèi)容有:

      配置管理的組織機(jī)構(gòu)、配置管理的相關(guān)角色和職責(zé)、配置管理工具的選擇和配置環(huán)境的建立、版本庫(kù)的結(jié)構(gòu)、訪問權(quán)限設(shè)置、配置項(xiàng)的標(biāo)識(shí)、基線的建立、各個(gè)里程碑處提交的軟件產(chǎn)品和提交時(shí)間、變更控制及配置狀態(tài)統(tǒng)計(jì)等內(nèi)容。

      4.2權(quán)限管理

      在版本庫(kù)(Repository)的子目錄conf中有3個(gè)默認(rèn)的配置文件分別是svnserve.conf、passwd、authz。svnserve.oonf提供總體上的訪問權(quán)限控制。用戶名與密碼放在passwd文件中,項(xiàng)目目錄訪問權(quán)限放在authz文件中。通過這3個(gè)文件實(shí)現(xiàn)用戶權(quán)限控制。

      配置管理員將用戶分組,對(duì)不同的組和不同目錄分別進(jìn)行授權(quán)(不能訪問、只讀、讀/寫),從而保證版本庫(kù)的安全。項(xiàng)目開發(fā)中的角色權(quán)限見表2。

      4.3SVN控制管理下的開發(fā)工作

      開發(fā)人員從版本庫(kù)下載源代碼,放在本地作為工作副本,在工作副本上進(jìn)行查看、修改、編譯、運(yùn)行、測(cè)試等操作。

      有兩種開發(fā)模式:

      1)鎖定-修改-解鎖:采用這種模式,版本庫(kù)的一個(gè)文件被檢出(check out)后,就被鎖定。只有提交(Commit)之后,其他人才能修改該文件。

      2)復(fù)制-修改-合并(SVN默認(rèn)的模式):采用這種模式,開發(fā)人員讀取版本庫(kù)文件,建立一個(gè)私有工作副本——版本庫(kù)中文件和目錄的本地映射。用戶并行工作,修改各自的工作副本,最后合并在一起,成為最終的版本。

      表2 項(xiàng)目開發(fā)中的角色權(quán)限Tab.2 The role privileges in the project development

      開發(fā)人員每天主要工作如下:

      1)根據(jù)主干庫(kù)(trunk)提供的新基線更新(Update)工作副本;

      2)檢出(check out)自己需要的文件開始工作。為了提供高質(zhì)量的源代碼,需要對(duì)編寫好的代碼進(jìn)行單元測(cè)試,靜態(tài)走碼檢查,沖突處理和本地構(gòu)建工作。

      3)最后將評(píng)審過的代碼提交(Commit)到主干庫(kù)(trunk)。開發(fā)人員提交時(shí),要添加注釋、說明、CR單號(hào)、修改原因等,以保證可追溯。

      4.4開庫(kù)和鎖庫(kù)

      配置管理員負(fù)責(zé)每天版本庫(kù)的開庫(kù)和鎖庫(kù),開庫(kù)和鎖庫(kù)主要是針對(duì)主干庫(kù)(trunk)。每天開庫(kù)將主干庫(kù)(trunk)相應(yīng)的權(quán)限賦予項(xiàng)目組成員。開發(fā)人員完成代碼提交后,鎖庫(kù)取消項(xiàng)目組成員的相應(yīng)權(quán)限,僅保留配置管理員和持續(xù)集成人員的權(quán)限。以便持續(xù)集成人員完成集成構(gòu)建工作。

      4.5建立編碼基線

      配置管理員鎖庫(kù)后,持續(xù)集成工程師從主干庫(kù)(trunk)檢出新提交的代碼,開始構(gòu)建工作。啟動(dòng)CI服務(wù)器自動(dòng)執(zhí)行一系列測(cè)試(單元測(cè)試、組件測(cè)試和一些耗時(shí)的代碼審查任務(wù)等);將新提交的代碼與原有版本資源結(jié)合快速構(gòu)建新的版本。若構(gòu)建成功,可以獲得最新Build版本,建立新的編碼基線,通過電子郵件通知項(xiàng)目經(jīng)理和開發(fā)人員。若構(gòu)建失敗,不更新基線,通過電子郵件通知項(xiàng)目經(jīng)理和相關(guān)的開發(fā)人員對(duì)提交的代碼進(jìn)行修改。

      4.6構(gòu)建內(nèi)部轉(zhuǎn)測(cè)試版本建立測(cè)試基線

      通常選擇每周執(zhí)行一次構(gòu)建內(nèi)部轉(zhuǎn)測(cè)試版本。持續(xù)集成人員從主干庫(kù)(trunk)取得新提交的代碼后,執(zhí)行全構(gòu)建任務(wù)。啟動(dòng)CI服務(wù)器執(zhí)行所有的構(gòu)建工作,包括環(huán)境清理、編譯、測(cè)試、代碼審查、打包、部署等。全構(gòu)建任務(wù)執(zhí)行時(shí)間較長(zhǎng),有些工作還需要手動(dòng)執(zhí)行。生成的版本放在Tag中并標(biāo)記版本號(hào),提交轉(zhuǎn)測(cè)試流程。測(cè)試經(jīng)理組織進(jìn)行版本驗(yàn)證;測(cè)試人員進(jìn)行各種測(cè)試,包括功能測(cè)試、性能測(cè)試等。測(cè)試中發(fā)現(xiàn)問題,知會(huì)項(xiàng)目經(jīng)理和開發(fā)人員及時(shí)處理。完成內(nèi)部轉(zhuǎn)測(cè)試版本測(cè)試,就建立了新的測(cè)試基線,同時(shí)也建立了新的編碼基線,和每日構(gòu)建建立的基線相比內(nèi)部轉(zhuǎn)測(cè)試版本建立的基線等級(jí)要高一些。

      4.7變更管理

      變更管理是對(duì)變更請(qǐng)求(Change Request,簡(jiǎn)稱CR)進(jìn)行分類、追蹤和管理的過程。變更通常有兩種類型:功能變更和錯(cuò)誤修補(bǔ)變更。

      4.7.1變更請(qǐng)求的分類

      在軟件研發(fā)過程中會(huì)遇到4類變更請(qǐng)求:需求變更、計(jì)劃變更、設(shè)計(jì)變更和工程變更。

      對(duì)于這4類變更請(qǐng)求,在不同的階段,分別由不同的CCB團(tuán)體負(fù)責(zé)決策處理。

      4.7.2變更管理流程

      在項(xiàng)目開發(fā)過程中,配置項(xiàng)的變更要遵循一定的變更機(jī)制,經(jīng)過嚴(yán)格的審核才能進(jìn)行。以上提到的4類變更請(qǐng)求,都有一個(gè)通用的變更管理流程,變更管理流程如圖1所示。

      圖1 變更管理流程Fig.1 The process of change management

      主要由以下4個(gè)步驟組成:

      1)提交變更申請(qǐng):在申請(qǐng)中詳細(xì)描述:變更的范圍、原因和依據(jù);變更的優(yōu)先級(jí);變更的影響;建議的變更方案和替換方案。

      2)變更評(píng)估:CCB收到變更請(qǐng)求之后,對(duì)請(qǐng)求進(jìn)行評(píng)估和分析,識(shí)別和評(píng)估受影響的所有配置項(xiàng),必要時(shí)邀請(qǐng)相關(guān)人員參與評(píng)審。

      3)變更的審批:若接受的變更請(qǐng)求,確定修改方案、修改人、修改版本、修改時(shí)間、驗(yàn)證方式和驗(yàn)證人。在項(xiàng)目經(jīng)理的指導(dǎo)下,由配置管理員負(fù)責(zé)授權(quán)。

      4)變更實(shí)現(xiàn):配置項(xiàng)修改人執(zhí)行變更并驗(yàn)證;由CCB指定的驗(yàn)證人對(duì)變更進(jìn)行驗(yàn)證。驗(yàn)證通過之后,合格的配置項(xiàng)合入受控庫(kù)中;然后關(guān)閉變更請(qǐng)求并發(fā)布。

      4.8配置狀態(tài)發(fā)布

      配置狀態(tài)發(fā)布是建立與維護(hù)配置項(xiàng)的記錄;為相關(guān)人員提供準(zhǔn)確的配置信息;通過記錄和報(bào)告變更請(qǐng)求的狀態(tài),為產(chǎn)品的質(zhì)量、進(jìn)度、趨勢(shì)等跟蹤提供數(shù)據(jù)。

      配置狀態(tài)發(fā)布的主要內(nèi)容包括:

      配置項(xiàng)狀態(tài),基線發(fā)布情況,版本發(fā)布情況,變更管理情況,版本庫(kù)和權(quán)限管理情況。

      4.9版本管理

      一個(gè)產(chǎn)品可以有多個(gè)版本,包括內(nèi)部轉(zhuǎn)測(cè)試版本和對(duì)外發(fā)布版本。

      4.9.1版本管理流程

      版本管理的過程如下:

      1)項(xiàng)目經(jīng)理制定版本計(jì)劃,包括內(nèi)部轉(zhuǎn)測(cè)試版本和對(duì)外發(fā)布版本。

      2)開發(fā)人員和資料員完成源代碼開發(fā)和文檔編寫。3)持續(xù)集成工程師每周完成內(nèi)部轉(zhuǎn)測(cè)試版本構(gòu)建。4)提交轉(zhuǎn)測(cè)試流程,測(cè)試經(jīng)理組織進(jìn)行版本測(cè)試和驗(yàn)證。

      5)開發(fā)活動(dòng)完成之后,配置管理員準(zhǔn)備最終的產(chǎn)品版本、產(chǎn)品文檔、版本光盤包等;提供給測(cè)試經(jīng)理,組織進(jìn)行最后的版本測(cè)試和驗(yàn)證;

      6)測(cè)試和驗(yàn)證通過后,項(xiàng)目經(jīng)理組織各領(lǐng)域的代表評(píng)審,確認(rèn)版本符合發(fā)布要求。

      7)進(jìn)入版本發(fā)布流程,版本最終傳遞給客戶。版本管理流程如圖2所示。

      圖2 版本管理流程Fig.2 The Process of version management

      4.9.2配置管理的移交

      配置管理員需要完成以下工作:

      1)整理、歸檔數(shù)據(jù)、代碼(包括可執(zhí)行文件)和文檔;

      2)歸檔或刪除項(xiàng)目版本庫(kù);

      3)移交產(chǎn)品版本庫(kù)。

      5 基于SVN配置管理的持續(xù)集成

      現(xiàn)在軟件開發(fā)通常采用持續(xù)集成(CI)[2,5,7]技術(shù),一次構(gòu)建通??赡馨幾g、測(cè)試、審查和部署,以及其他一些事情。本節(jié)以ICP-CI服務(wù)器為例介紹持續(xù)集成。

      5.1持續(xù)集成系統(tǒng)架構(gòu)

      持續(xù)集成包括以下基本要素:開發(fā)人員、版本庫(kù)、CI服務(wù)器、構(gòu)建工具和反饋機(jī)制。持續(xù)集成步驟如下:

      1)開發(fā)人員向版本庫(kù)提交代碼。

      2)CI服務(wù)器輪詢版本庫(kù)中的變更,自動(dòng)檢查動(dòng)態(tài)庫(kù)的變化。

      3)鎖庫(kù)后,下載代碼到CI服務(wù)器。

      4)設(shè)定時(shí)間區(qū)間,定時(shí)自動(dòng)完成集成構(gòu)建工作。

      5)CI服務(wù)器通過電子郵件向項(xiàng)目經(jīng)理和開發(fā)人員反饋構(gòu)建信息。

      5.2部署ICP-CI服務(wù)器

      1)根據(jù)軟件項(xiàng)目的代碼規(guī)模、編譯環(huán)境、編譯工具選擇CI服務(wù)器的CPU、內(nèi)存等硬件配置和操作系統(tǒng)。一套CI服務(wù)器系統(tǒng)可以同時(shí)承擔(dān)多個(gè)軟件產(chǎn)品的持續(xù)集成工作。2)ICP-CI服務(wù)器系統(tǒng)有兩種部署形式,單機(jī)式和分布式。單機(jī)式:由一臺(tái)CI服務(wù)器完成持續(xù)集成工作,用于代碼量小于百萬行的開發(fā)團(tuán)隊(duì)。

      分布式:CI系統(tǒng)由一臺(tái)主控服務(wù)器和多臺(tái)代理服務(wù)器組成,主控服務(wù)器將持續(xù)集成任務(wù)下發(fā)到各個(gè)代理服務(wù)器,任務(wù)完成之后將任務(wù)結(jié)果和日志文件發(fā)回到主控服務(wù)器。

      在 Windows環(huán)境下主控服務(wù)器部署工具為 ICP-CIWindows-Master,代 理 服 務(wù) 器 部 署 工 具 為 ICP-CIWindows-Agent。在 Linux環(huán)境下主控服務(wù)器部署工具為ICP-CI-Linux-Master,代理服務(wù)器部署工具為 ICP-CILinux-Agent。主控服務(wù)器和代理服務(wù)器可以選擇不同的操作系統(tǒng),通常選擇主控服務(wù)器為Windows環(huán)境。

      3)ICP-CI工具安裝需要解壓安裝包。對(duì)于Windows環(huán)境下的主控服務(wù)器,需要進(jìn)入 ICP-CI-Windows-Master下的master目錄,執(zhí)行批處理文件啟動(dòng)MYSQL數(shù)據(jù)庫(kù)之后,啟動(dòng)ICP-CI的網(wǎng)頁(yè)版頁(yè)面。對(duì)于代理服務(wù)器ICP-CIWindows-Agent和ICP-CI-Linux-Agent需 要 將ICP-CIWindows-Master的服務(wù)器IP地址配置到agent目錄下conf文件夾中相應(yīng)的配置文件中,再執(zhí)行批處理腳本啟動(dòng)代理服務(wù)器的CI進(jìn)程。

      5.3安裝SVN客戶端

      CI服務(wù)器需要安裝SVN客戶端命令行工具和圖形工具TSVN。對(duì)于windows環(huán)境安裝客戶端工具之后,可以選擇安裝支持中文操作的軟件包。

      5.4搭建構(gòu)建工程

      打開ICP-CI網(wǎng)頁(yè)的頁(yè)面,創(chuàng)建軟件產(chǎn)品的構(gòu)建工程,使用ANT腳本完成出包腳本。構(gòu)建工程創(chuàng)建成功之后,分別配置更新代碼、靜態(tài)檢查、進(jìn)程編譯、出包、用例測(cè)試等步驟。

      1)SVN鎖庫(kù)之后,通過SVN的更新命令“svn update”更新CI服務(wù)器中的代碼。

      2)配置產(chǎn)品靜態(tài)檢查,產(chǎn)品使用C/C++來編碼,通常采用Pclint作為靜態(tài)檢查工具:產(chǎn)品代碼使用java語言,通常采用findbugs和checkstyle作為靜態(tài)檢查工具。

      3)配置各模塊的編譯腳本和編譯類型,編譯工作為下一步的出包生成進(jìn)程文件。

      4)配置出包的ANT腳本,生成版本包,將版本包部署到相應(yīng)的目錄下。

      5)完成測(cè)試用例任務(wù)的配置,對(duì)版本包進(jìn)行自動(dòng)化測(cè)試,完成版本包的初步測(cè)試。

      6 典型案例

      某公司的有一個(gè)中型軟件開發(fā)項(xiàng)目。采用的SVN版本是1.6.16,SVN命令行工具是subversion-1.6.16,SVN圖形工具是TortoiseSVN-1.6.16。持續(xù)集成軟件為ICP-CI,主控服務(wù)器操作系統(tǒng)為WINDOWS 2003 Server、代理服務(wù)器操作系統(tǒng)為Suse Linux 10 x86-64。持續(xù)集成服務(wù)器共8臺(tái),1臺(tái)主控服務(wù)器和7臺(tái)代理服務(wù)器。采用Linux環(huán)境下的shell腳本和ANT腳本編程完成持續(xù)集成構(gòu)建工作。工作實(shí)踐表明采用基于SVN的配置管理和持續(xù)集成有助于管理人員及時(shí)了解工作進(jìn)度和解決存在的問題。

      7 結(jié)束語

      長(zhǎng)期的工作實(shí)踐表明配置管理在軟件開發(fā)過程中占有重要的地位。采用基于SVN的配置管理和持續(xù)集成,可以減少開發(fā)過程中隱藏BUG的風(fēng)險(xiǎn),給項(xiàng)目的管理提供良好好的保障。應(yīng)用軟件的配置管理工作做好了,可以提高軟件的質(zhì)量,提高工作效率,降低開發(fā)成本,從而推動(dòng)軟件產(chǎn)業(yè)的健康發(fā)展。

      [1]董越.未雨綢繆—理解軟件配置管理[M].2版.北京:電子工業(yè)出版社,2012.

      [2]高平,周磊.版本控制系統(tǒng)—Subversion技術(shù)及其在軟件開發(fā)庫(kù)的應(yīng)用[J].航空電子技術(shù),2013(1):24-28.

      [3]Paul M.Duvall,Steve Matyas,Andrew Glover.持續(xù)集成軟件質(zhì)量改進(jìn)和風(fēng)險(xiǎn)降低之道 [M].北京:電子工業(yè)出版社,2012.

      [4]周念.基于SVN的軟件配置管理的應(yīng)用研究[D].武漢:武漢理工大學(xué),2013.

      [5]相玉娟.基于變更管理的持續(xù)集成研究與應(yīng)用[D].安徽:合肥工業(yè)大學(xué),2009.

      [6]Stefan Kung,Lubbe Onken,Simon Large.Tortoise SVN Versionl 1.5.2[M].Karl Fogel.2005.

      [7]Ben Collins-Sussman,Brian W.Fitzpatrick,C.Michael Pilato.Version Control with Subversion For Subversion 1.5[M].Karl Fogel,2005.

      [8]賀自軍.基于SVN的統(tǒng)一協(xié)作平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2009.

      [9]徐志.工業(yè)用戶無功補(bǔ)償優(yōu)化管理軟件[J].供用電,2013 (2):81-85.

      [10]黃家棟,陳永業(yè).基于綜合集成賦權(quán)法的輸電線路風(fēng)險(xiǎn)評(píng)估[J].陜西電力,2015(9):70-75.

      [11]劉艷陽(yáng).配電網(wǎng)無功補(bǔ)償配置原則優(yōu)化研究[J].陜西電力,2015(9):57-61.

      [12]李軍軍,黃有方,許波桅.道路修整與應(yīng)急車輛路徑的集成優(yōu)化[J].工業(yè)儀表與自動(dòng)化裝置,2013(5):8-12.

      [13]鮑麗紅.一種高校綜合信息系統(tǒng)集成平臺(tái)數(shù)據(jù)管理方案[J].工業(yè)儀表與自動(dòng)化裝置,2015(3):73-75.

      The software configuration management and the continuous integration based on SVN

      JIANG Wen,LIU Li-kang
      (School of Telecommunication Engineering,Xidian University,Xi’an710071,China)

      The SVN is a widely used configuration management tool,which is suitable for small and medium-sized software team.This article describes the characteristics of SVN,introduces the basic concept of configuration management and related role;detailed introduced the software configuration management based on SVN and continuous integration,including rights management,the development work under control of SVN,sets up the coding baseline,builds the internal test version,changes management,version management,and other content;Finally introduces a typical case.Practice shows that this management method is helpful to improve the quality of software,is convenient for project managers understand the work progress and timely solve the problems.

      version control;configuration management;branch;label;baseline;continuous integration

      TP311.56

      A

      1674-6236(2016)02-0001-05

      2015-06-07稿件編號(hào):201506074

      國(guó)家部委基礎(chǔ)科研計(jì)劃:國(guó)防預(yù)研基金項(xiàng)目(A1120110007)

      姜 文(1986—),女,陜西西安人,碩士研究生,工程師。研究方向:圖像處理與分析,文字信息分析處理,數(shù)據(jù)庫(kù)應(yīng)用和軟件工程。

      猜你喜歡
      配置管理開發(fā)人員基線
      汽車委托外加工零件自動(dòng)化配置管理
      適用于MAUV的變基線定位系統(tǒng)
      航天技術(shù)與甚長(zhǎng)基線陣的結(jié)合探索
      科學(xué)(2020年5期)2020-11-26 08:19:14
      Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
      一種改進(jìn)的干涉儀測(cè)向基線設(shè)計(jì)方法
      讓W(xué)indows 10進(jìn)入開發(fā)者模式
      電腦迷(2015年12期)2015-04-29 23:22:51
      后悔了?教你隱藏開發(fā)人員選項(xiàng)
      電腦愛好者(2015年6期)2015-04-03 01:20:56
      建設(shè)CMDB任重道遠(yuǎn)
      配置管理在軟件測(cè)試中的應(yīng)用
      科技視界(2015年4期)2015-01-02 05:16:00
      基于PLM 的IRIS 配置管理的實(shí)施和應(yīng)用
      宁阳县| 集安市| 景东| 靖西县| 调兵山市| 贵定县| 延津县| 娱乐| 灵山县| 土默特右旗| 武威市| 金寨县| 商南县| 穆棱市| 子洲县| 浦东新区| 阆中市| 新疆| 丽江市| 手游| 建德市| 色达县| 温宿县| 内黄县| 陆川县| 准格尔旗| 酉阳| 绥江县| 古丈县| 博爱县| 赤水市| 蒙阴县| 庆元县| 阿勒泰市| 邢台市| 齐齐哈尔市| 罗源县| 武川县| 望都县| 泰来县| 泸溪县|