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

        ?

        基于云環(huán)境的持續(xù)集成

        2018-01-23 07:07:01劉立康
        關(guān)鍵詞:代理服務(wù)器配置文件項(xiàng)目組

        姜 文,劉立康

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

        0 引 言

        隨著軟件開發(fā)技術(shù)的不斷發(fā)展,軟件持續(xù)集成(Continuous Integration,CI)已經(jīng)成為軟件開發(fā)過(guò)程中的一個(gè)重要組成部分。持續(xù)集成技術(shù)已經(jīng)由最初實(shí)現(xiàn)簡(jiǎn)單的軟件編譯驗(yàn)證,發(fā)展到目前可以進(jìn)行軟件源代碼代碼質(zhì)量監(jiān)控與管理、軟件版本出包、軟件版本集成驗(yàn)證等各個(gè)方面。

        云計(jì)算[1]是將大量的計(jì)算資源、存儲(chǔ)資源等組合形成資源共享池,能夠根據(jù)用戶的需求提供資源,具有便利性、可擴(kuò)容性、經(jīng)濟(jì)性等優(yōu)勢(shì)。由于云計(jì)算的優(yōu)點(diǎn),目前基于云環(huán)境[2-5]的持續(xù)集成已經(jīng)廣泛應(yīng)用于各大型軟件企業(yè)。

        文中介紹了基于云環(huán)境的持續(xù)集成的運(yùn)行原理、部署和特點(diǎn),基于云環(huán)境的持續(xù)集成工程運(yùn)行過(guò)程。以配置管理工具SVN和持續(xù)集成工具ICP-CI為主線敘述基于云環(huán)境的持續(xù)集成。

        1 云構(gòu)建環(huán)境

        1.1 云構(gòu)建環(huán)境的特點(diǎn)

        隨著云計(jì)算技術(shù)的快速發(fā)展,軟件公司逐漸開始使用私有云虛擬機(jī)進(jìn)行軟件產(chǎn)品的持續(xù)集成,可以根據(jù)軟件產(chǎn)品對(duì)持續(xù)集成構(gòu)建環(huán)境的不同需求提供不同數(shù)量和各種規(guī)格的虛擬機(jī)。這些虛擬機(jī)可以有不同的操作系統(tǒng)、不同的系統(tǒng)盤與數(shù)據(jù)盤,靈活搭建持續(xù)集成的構(gòu)建環(huán)境,從而降低軟件產(chǎn)品持續(xù)集成的成本和提高工作效率。私有云虛擬機(jī)的硬件設(shè)備由公司進(jìn)行統(tǒng)一分配與管理,降低了設(shè)備的管理成本。

        1.2 云構(gòu)建環(huán)境持續(xù)集成工作流程

        1.2.1 私有云環(huán)境平臺(tái)構(gòu)建

        私有云的實(shí)現(xiàn)通常有兩種模式:在物理硬件設(shè)備上采用虛擬化技術(shù)構(gòu)建私有云環(huán)境;在公有云上申請(qǐng)私有云環(huán)境。

        1.2.2 云構(gòu)建環(huán)境申請(qǐng)

        對(duì)于單機(jī)式持續(xù)集成可以在私有云平臺(tái)上申請(qǐng)?zhí)摂MCI服務(wù)器完成持續(xù)集成工作。對(duì)于分布式持續(xù)集成需要申請(qǐng)一個(gè)CI系統(tǒng)(由一臺(tái)主控服務(wù)器和多臺(tái)代理服務(wù)器組成),通常CI系統(tǒng)通過(guò)一個(gè)虛擬局域網(wǎng)實(shí)現(xiàn)相互之間的信息交流。項(xiàng)目組根據(jù)軟件產(chǎn)品對(duì)持續(xù)集成的需求確定虛擬機(jī)的數(shù)量和規(guī)格,在公司網(wǎng)上填寫申請(qǐng)?jiān)铺摂M機(jī)的申請(qǐng)單,提交產(chǎn)品經(jīng)理、公司質(zhì)量部門以及公司IT部門審批,由公司IT部門根據(jù)申請(qǐng)單提供產(chǎn)品部門所需求的云虛擬機(jī)。

        1.2.3 云構(gòu)建環(huán)境部署

        在虛擬機(jī)上安裝操作系統(tǒng)、持續(xù)集成工具、編譯器、代碼質(zhì)量檢查工具、打包工具以及一些輔助工具。

        1.2.4 云構(gòu)建環(huán)境上開展持續(xù)集成工作

        在持續(xù)集成工具的頁(yè)面上進(jìn)行構(gòu)建工程的搭建,構(gòu)建工程包括產(chǎn)品源代碼靜態(tài)測(cè)試、源代碼模塊編譯、版本包出包、版本包的自動(dòng)化測(cè)試。

        2 軟件配置管理和持續(xù)集成

        軟件配置管理和持續(xù)集成[6-13]有著密切的關(guān)系,配置管理的版本庫(kù)中存放著軟件產(chǎn)品源代碼和各種重要的資料,持續(xù)集成是從版本庫(kù)下載源代碼進(jìn)行集成構(gòu)建和代碼測(cè)試工作。

        2.1 配置管理工具SVN

        SVN是一個(gè)開源的版本控制系統(tǒng),在服務(wù)器上安裝SVN服務(wù)器軟件,建立一個(gè)版本庫(kù)(Repository),將數(shù)據(jù)(項(xiàng)目)導(dǎo)入版本庫(kù)。在客戶端使用SVN專門設(shè)計(jì)的協(xié)議訪問(wèn)的SVN服務(wù)器,提供兩種服務(wù)模式:一種是C/S模式,安裝SVN客戶端命令行工具和圖形工具TSVN。另一種是B/S模式,與Apache集成,在客戶端采用Http的擴(kuò)展協(xié)議進(jìn)行訪問(wèn);安裝Rsync工具,并完成相關(guān)配置。用戶通過(guò)個(gè)人密碼登陸SVN服務(wù)器開展工作。

        2.2 持續(xù)集成工具ICP-CI

        ICP-CI工具的CI系統(tǒng)有兩種部署形式:

        (1)單機(jī)式:由一臺(tái)CI服務(wù)器完成持續(xù)集成工作,用于代碼量小于百萬(wàn)行的開發(fā)團(tuán)隊(duì)。

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

        CI服務(wù)器可以自動(dòng)檢查版本庫(kù)中的動(dòng)態(tài)庫(kù)變化,設(shè)定時(shí)間區(qū)間,定時(shí)自動(dòng)完成集成構(gòu)建工作,并以郵件的形式向開發(fā)團(tuán)隊(duì)反饋集成構(gòu)建結(jié)果。

        2.3 基于SVN的持續(xù)集成

        持續(xù)集成包括以下基本要素:開發(fā)工程師、配置庫(kù)、集成構(gòu)建系統(tǒng)(CI服務(wù)器)、構(gòu)建工具和反饋機(jī)制。CI服務(wù)器提供了針對(duì)SVN的接口。持續(xù)集成步驟通常如下:

        (1)開發(fā)工程師通過(guò)SVN向代碼庫(kù)提交代碼。

        (2)鎖庫(kù)后,下載代碼到CI服務(wù)器完成構(gòu)建工作。若構(gòu)建成功,提供新的代碼版本。

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

        (4)CI服務(wù)器輪詢配置庫(kù)中的變更。

        CI服務(wù)器和SVN組成的系統(tǒng)架構(gòu)如圖1所示。

        圖1 SVN_CI系統(tǒng)架構(gòu)

        2.4 基于物理實(shí)體機(jī)持續(xù)集成的特點(diǎn)

        (1)持續(xù)集成工程師需要完成集成構(gòu)建工作,也要配置、管理和維護(hù)CI服務(wù)器系統(tǒng)。

        (2)采用C/S模式,從SVN的版本庫(kù)下載代碼。

        (3)主控服務(wù)器(Master)通過(guò)網(wǎng)絡(luò)管理代理服務(wù)器(Agent),它們之間通常組成一個(gè)局域網(wǎng)。

        (4)項(xiàng)目組的軟件產(chǎn)品版本庫(kù)存放在項(xiàng)目組管控的計(jì)算機(jī)上。

        3 基于云環(huán)境虛擬機(jī)的持續(xù)集成

        基于云環(huán)境虛擬機(jī)的持續(xù)檢查首先需要構(gòu)建私有云平臺(tái),然后在私有云平臺(tái)上配置云構(gòu)建環(huán)境。

        3.1 在物理實(shí)體機(jī)上構(gòu)建私有云技術(shù)

        3.1.1 采用VMware構(gòu)建私有云平臺(tái)

        經(jīng)過(guò)多年的發(fā)展,VMWare[14]在虛擬化市場(chǎng)處于領(lǐng)軍地位,很多企業(yè)部署了VMWare虛擬化方案。單位IT部門根據(jù)產(chǎn)品不同的需求,在統(tǒng)一使用的服務(wù)器上安裝VMware軟件制作不同操作系統(tǒng)、內(nèi)存、數(shù)據(jù)盤的虛擬機(jī)。目前VMware通過(guò)集成OpenStack技術(shù),能讓客戶將現(xiàn)有的VMware vSphere虛擬機(jī)導(dǎo)入OpenStack中,幫助開發(fā)者輕松地遷移其重要開發(fā)項(xiàng)目,采用OpenStack API來(lái)管理各項(xiàng)工作。

        VMware虛擬交換機(jī)包括兩種:vSphere標(biāo)準(zhǔn)交換機(jī)和vSphere分布式交換機(jī)。vSphere標(biāo)準(zhǔn)交換機(jī)的運(yùn)行方式與物理以太網(wǎng)交換機(jī)十分相似。vSphere分布式交換機(jī)可以實(shí)現(xiàn)虛擬機(jī)跨所有成員主機(jī)的網(wǎng)絡(luò)配置。通過(guò)vSphere進(jìn)行虛擬局域網(wǎng)VLAN的配置和管理。

        3.1.2 采用OpenStack構(gòu)建私有云平臺(tái)

        目前也有許多單位采用OpenStack[15]部署虛擬云環(huán)境。OpenStack是一個(gè)開源的云平臺(tái)管理軟件,正在逐步成為IaaS(Infrastructure as a Service,基礎(chǔ)架構(gòu)即服務(wù))云計(jì)算事實(shí)上的標(biāo)準(zhǔn)??梢蕴峁┥矸菡J(rèn)證、授權(quán)及鏡像管理等基礎(chǔ)服務(wù),也提供計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)三大核心服務(wù)。OpenStack幾乎支持所有的虛擬化管理程序,不論是開源的(Xen與KVM)還是廠商的(Hyper-V與VMware)。早期OpenStack是基于KVM開發(fā)的,KVM是默認(rèn)的虛擬機(jī)管理程序。

        通過(guò)Neutrom軟件提供虛擬網(wǎng)絡(luò)服務(wù),Neutron支持的用戶網(wǎng)絡(luò)類型有flat、local、VLAN、VXLAN和GRE。通常用的比較多的是VLAN、VXLAN和GRE。VLAN網(wǎng)絡(luò)類型是OpenStack默認(rèn)的網(wǎng)絡(luò)模式。

        3.2 基于部門云的持續(xù)集成

        部門云是以項(xiàng)目組為單位構(gòu)建私有云平臺(tái)(部門云),私有云平臺(tái)是為項(xiàng)目組軟件產(chǎn)品開發(fā)服務(wù)。硬件設(shè)備由項(xiàng)目組統(tǒng)一管理。

        3.2.1 部門云構(gòu)建環(huán)境運(yùn)行原理

        部門云CI系統(tǒng)由主控服務(wù)器、代碼中心以及代理服務(wù)器3個(gè)部分組成。

        主控服務(wù)器:負(fù)責(zé)搭建持續(xù)集成工程;分配構(gòu)建任務(wù),反饋構(gòu)建結(jié)果信息;

        代碼中心:是一種特殊的代理服務(wù)器,存放各種配置文件和運(yùn)行腳本,從版本庫(kù)下載源代碼,轉(zhuǎn)發(fā)給代理服務(wù)器;

        代理服務(wù)器:進(jìn)行集成構(gòu)建以及相關(guān)的工作。

        部門云CI系統(tǒng)的運(yùn)行如圖2所示。

        圖2中的方線框內(nèi)為CI系統(tǒng)。

        圖2 部門云構(gòu)建環(huán)境運(yùn)行原理

        (1)主控服務(wù)器搭建持續(xù)集成工程,從代碼中心下載配置文件與任務(wù)的執(zhí)行腳本。

        (2)主控服務(wù)器將待執(zhí)行的任務(wù)下發(fā)給代理服務(wù)器。

        (3)代碼中心使用SVN客戶端工具Rsync從版本庫(kù)下載產(chǎn)品代碼,代理服務(wù)器從代碼中心同步下載產(chǎn)品代碼。

        (4)代理服務(wù)器完成構(gòu)建任務(wù)后,將構(gòu)建結(jié)果與構(gòu)建過(guò)程中生成的日志文件回傳代碼中心,代碼中心將構(gòu)建結(jié)果與日志文件傳送到統(tǒng)一的歸檔路徑下。

        (5)代理服務(wù)器根據(jù)構(gòu)建結(jié)果回傳執(zhí)行報(bào)告給主控服務(wù)器。主控服務(wù)器將相關(guān)信息反饋給開發(fā)組。

        3.2.2 部門云CI系統(tǒng)部署

        (1)主控服務(wù)器。

        主控服務(wù)器選擇Windows Server操作系統(tǒng),安裝ICP-CI-Windows-Master工具,在配置文件中配置相關(guān)的IP地址。執(zhí)行批處理啟動(dòng)MYSQL數(shù)據(jù)庫(kù)后,啟動(dòng)ICP-CI的網(wǎng)絡(luò)頁(yè)面。

        (2)代碼中心。

        ①代碼中心選擇Windows操作系統(tǒng),安裝ICP-CI-Windows-Agent工具,在配置文件中配置相關(guān)的IP地址。.

        ②安裝Rsync工具,并完成相關(guān)配置。創(chuàng)建相關(guān)的目錄,用于放置產(chǎn)品代碼、構(gòu)建結(jié)果與構(gòu)建日志。

        ③在相關(guān)目錄存放各種構(gòu)建任務(wù)的配置文件和執(zhí)行腳本,包括代碼自動(dòng)更新、模塊編譯、版本包打包、版本驗(yàn)證以及各種代碼檢查任務(wù)的配置文件和執(zhí)行腳本。

        (3)代理服務(wù)器。

        代理服務(wù)器可以根據(jù)各類任務(wù)的需要選擇操作系統(tǒng),安裝ICP-CI-Windows-Agent工具或者ICP-CI-Linux -Agent工具,在配置文件中配置相關(guān)的IP地址。安裝編譯器,測(cè)試、代碼檢查、出包相關(guān)的工具。

        3.2.3 持續(xù)集成的特點(diǎn)

        (1)對(duì)于分布式持續(xù)集成,主控服務(wù)器(Master)和代理服務(wù)器(Agent)組成一個(gè)虛擬局域網(wǎng)。

        (2)采用B/S模式,在其中一臺(tái)代理CI服務(wù)器(代碼中心)上安裝Rsync工具,從SVN的版本庫(kù)下載代碼。

        (3)持續(xù)集成工程師登陸Master通過(guò)網(wǎng)絡(luò)管理Agent完成集成構(gòu)建工作。

        (4)持續(xù)集成工程師負(fù)責(zé)分布式CI系統(tǒng)的配置、管理和工具軟件的安裝。

        (5)項(xiàng)目組的軟件產(chǎn)品版本庫(kù)存放在項(xiàng)目組管控的私有云上。

        3.3 基于公司云的持續(xù)集成

        公司云是在部門云的基礎(chǔ)上進(jìn)一步開發(fā)形成的私有云平臺(tái)。通常有多個(gè)軟件開發(fā)項(xiàng)目,在公司云上進(jìn)行軟件開發(fā)、測(cè)試、版本管理和持續(xù)集成等工作。公司云管理中心統(tǒng)一管理分配公司云中的虛擬機(jī)和各種資源。

        3.3.1 公司云構(gòu)建環(huán)境運(yùn)行原理

        公司云構(gòu)建環(huán)境由資源管理調(diào)度中心、主控服務(wù)器以及代理服務(wù)器組成。

        資源管理調(diào)度中心主要由四部分組成:

        (1)資源管理中心:所有資源均在此注冊(cè),使用資源需要申請(qǐng)。

        (2)資源調(diào)度中心:云構(gòu)建環(huán)境中的各種工作任務(wù)統(tǒng)一在此排隊(duì)安排。

        (3)POM服務(wù)器:相當(dāng)于部門云中代碼中心的角色,不同之處在于該服務(wù)器可以管理多個(gè)軟件項(xiàng)目的持續(xù)集成工作。該服務(wù)器存放多個(gè)軟件項(xiàng)目的各種配置文件和運(yùn)行腳本,可以從多個(gè)軟件產(chǎn)品版本庫(kù)下載源代碼,而且存放構(gòu)建過(guò)程中間載體。該服務(wù)器可以通過(guò)pom.xml文件提供多種管理(源代碼、配置文件、開發(fā)者信息、問(wèn)題追蹤、項(xiàng)目相關(guān)信息等)。

        (4)PROXY服務(wù)器:承擔(dān)虛擬機(jī)代理服務(wù)器的管理工作,向代理服務(wù)器下發(fā)構(gòu)建任務(wù),并全程跟蹤任務(wù)執(zhí)行。代理服務(wù)器通過(guò)PROXY服務(wù)器獲取網(wǎng)絡(luò)信息。

        公司云構(gòu)建環(huán)境的運(yùn)行過(guò)程如圖3所示。

        圖3 公司云構(gòu)建環(huán)境運(yùn)行原理

        (1)主控服務(wù)器向資源調(diào)度中心發(fā)送任務(wù)請(qǐng)求,準(zhǔn)備啟動(dòng)構(gòu)建任務(wù)。

        (2)資源調(diào)度中心向資源管理中心請(qǐng)求PROXY環(huán)境,并初始化PROXY環(huán)境。

        (3)PROXY向資源管理中心申請(qǐng)代理服務(wù)器資源,并與POM同步配置。

        (4)資源調(diào)度中心向POM下發(fā)從版本庫(kù)更新代碼的任務(wù)。代理服務(wù)器從POM同步下載產(chǎn)品代碼。

        (5)PROXY向代理服務(wù)器下發(fā)構(gòu)建任務(wù),開始構(gòu)建工作。

        (6)構(gòu)建結(jié)束后,代理服務(wù)器向POM上傳構(gòu)建結(jié)果。

        (7)POM將構(gòu)建結(jié)果與日志文件傳送到統(tǒng)一的歸檔路徑下。

        (8)代理服務(wù)器根據(jù)構(gòu)建結(jié)果回傳執(zhí)行報(bào)告給主控服務(wù)器。主控服務(wù)器將相關(guān)信息反饋給開發(fā)組。

        3.3.2 公司云構(gòu)建環(huán)境部署

        主控服務(wù)器和代理服務(wù)器的部署與部門云中的部署方式相同,下面簡(jiǎn)要敘述資源管理調(diào)度中心的部署。

        (1)資源管理中心與資源調(diào)度中心。

        資源管理中心與資源調(diào)度中心通常采用通用的云計(jì)算技術(shù)配置。

        (2)POM部署。

        POM服務(wù)器選擇Windows操作系統(tǒng),安裝POM工具,完成資源管理中心的IP地址配置,安裝版本庫(kù)遠(yuǎn)程登錄工具。

        (3)PROXY部署。

        PROXY服務(wù)器,選擇Windows操作系統(tǒng),安裝PROXY工具,完成資源管理中心的IP地址配置。

        3.3.3 持續(xù)集成的特點(diǎn)

        (1)持續(xù)集成工程師負(fù)責(zé)向公司云管理中心申請(qǐng)持續(xù)集成環(huán)境,包括虛擬機(jī)規(guī)格和各虛擬機(jī)安裝的各種工具軟件。

        (2)公司云管理中心提供定制的持續(xù)集成環(huán)境。

        (3)持續(xù)集成工程師登陸主控服務(wù)器(Master),通過(guò)網(wǎng)絡(luò)管理代理服務(wù)器(Agent)完成項(xiàng)目組集成構(gòu)建工作。

        (4)持續(xù)集成工程師也可以承擔(dān)其他項(xiàng)目組的持續(xù)集成工作,資源調(diào)度管理中心也可以把空閑的虛擬機(jī)分配給其他工作使用。

        (5)項(xiàng)目組的軟件產(chǎn)品版本庫(kù)存放在公司管控的私有云上。

        3.4 基于公有云的持續(xù)集成

        3.4.1 構(gòu)建過(guò)程

        在公有云上構(gòu)建的持續(xù)集成云構(gòu)建環(huán)境過(guò)程如圖4所示。

        圖4 公有云上構(gòu)建的持續(xù)集成云構(gòu)建環(huán)境過(guò)程

        虛擬私有云(VPC)是用戶申請(qǐng)公有云[16]賬戶后獲得的虛擬網(wǎng)絡(luò)。它在邏輯上與公有云中的其他虛擬網(wǎng)絡(luò)隔絕。可以在VPC內(nèi)進(jìn)行VPC的各種配置,選擇IP地址范圍、創(chuàng)建子網(wǎng)以及配置路由表、網(wǎng)絡(luò)網(wǎng)關(guān)和安全設(shè)置。這個(gè)虛擬網(wǎng)絡(luò)與傳統(tǒng)網(wǎng)絡(luò)運(yùn)行方式極其相似。

        采用此種模式,項(xiàng)目組軟件開發(fā)、版本管理、持續(xù)集成和軟件測(cè)試都在私有云的網(wǎng)絡(luò)上進(jìn)行。開展持續(xù)集成工作通常采用分布式版本管理工具Git和持續(xù)集成工具Jenkins。Jenkins可以在私有云的虛擬局域網(wǎng)上構(gòu)建分布式持續(xù)集成環(huán)境,開展持續(xù)集成工作。開源的軟件開發(fā)通常采用此種模式。商業(yè)軟件開發(fā)由于顧忌軟件產(chǎn)品的保密問(wèn)題,通常不采用這種方式。

        3.4.2 持續(xù)集成的特點(diǎn)

        (1)項(xiàng)目組的軟件產(chǎn)品版本庫(kù)存放在公有云上。

        (2)開發(fā)人員可以把版本庫(kù)克隆到本地,進(jìn)行軟件開發(fā);工作完成后提交到版本庫(kù)進(jìn)行分支合并。

        (3)對(duì)于分布式持續(xù)集成,持續(xù)集成工程師需要申請(qǐng)一個(gè)虛擬局域網(wǎng)開展集成構(gòu)建工作。主控服務(wù)器(Master)通過(guò)網(wǎng)絡(luò)管理代理服務(wù)器(Agent)。

        (4)采用B/S模式,需要在其中一臺(tái)代理CI服務(wù)器上安裝遠(yuǎn)程登錄工具,從版本庫(kù)下載代碼。

        4 基于云環(huán)境的持續(xù)集成工程運(yùn)行過(guò)程

        4.1 搭建持續(xù)集成工程

        在ICP-CI的頁(yè)面上創(chuàng)建名稱為“軟件產(chǎn)品名稱+版本號(hào)”的持續(xù)集成構(gòu)建工程。構(gòu)建工程創(chuàng)建成功后,分別配置代碼更新、進(jìn)程編譯、出包、自動(dòng)化用例測(cè)試等工作內(nèi)容。

        4.2 更新配置文件

        執(zhí)行構(gòu)建任務(wù)之前都需要先更新配置文件。配置文件包括所有構(gòu)建任務(wù)的出包腳本、*.lnt文件、所有構(gòu)建任務(wù)的配置文件、靜態(tài)檢查的模塊配置文件、構(gòu)建任務(wù)運(yùn)行環(huán)境的配置文件。

        4.3 代碼更新

        使用配置管理工具SVN代碼更新命令“update”更新代碼。每天在版本庫(kù)開庫(kù)到鎖庫(kù)的時(shí)間段,開發(fā)工程師提交代碼到版本庫(kù)中。版本庫(kù)鎖庫(kù)后,持續(xù)集成工程師更新代碼,開始執(zhí)行集成構(gòu)建工作。

        4.4 模塊編譯

        各模塊的編譯腳本路徑、編譯腳本與編譯器需要在構(gòu)建工程的任務(wù)頁(yè)面上完成配置,同時(shí)配置任務(wù)的類型和任務(wù)級(jí)別。產(chǎn)品代碼在編譯過(guò)程中為產(chǎn)品版本包生成相關(guān)文件,同時(shí)也提供各種編譯錯(cuò)誤與編譯告警的信息。

        4.5 版本包出包

        編譯任務(wù)完成后,運(yùn)行構(gòu)建工程的版本出包步驟,生成產(chǎn)品的軟件包。軟件包存放在指定的目錄中。

        4.6 版本包驗(yàn)證

        在自動(dòng)化測(cè)試用例執(zhí)行環(huán)境下完成版本包自動(dòng)加載、自動(dòng)安裝和自動(dòng)化測(cè)試用例的初步測(cè)試。這個(gè)過(guò)程被稱為HLT(HIGH LEVEL TEST)自動(dòng)化測(cè)試。

        5 典型案例

        某大型軟件公司有一個(gè)軟、硬件結(jié)合的大型軟件項(xiàng)目,代碼量大概為2 000多萬(wàn)行,在項(xiàng)目開發(fā)期間分別使用實(shí)體機(jī)、部門云虛擬機(jī)以及公司云虛擬機(jī)進(jìn)行持續(xù)集成。持續(xù)集成使用的計(jì)算機(jī)機(jī)規(guī)格如表1所示。

        表1 持續(xù)集成計(jì)算機(jī)規(guī)格表

        (1)基于實(shí)體機(jī)的持續(xù)集成。

        項(xiàng)目初期,使用實(shí)體機(jī)網(wǎng)絡(luò)開展持續(xù)集成工作。執(zhí)行一次持續(xù)集成完整構(gòu)建大概需要4個(gè)多小時(shí),執(zhí)行一次完整的代碼質(zhì)量檢查需要8個(gè)小時(shí)以上。

        (2)基于部門云的持續(xù)集成。

        項(xiàng)目中期,使用部門云虛擬機(jī)開展持續(xù)集成工作。執(zhí)行一次持續(xù)集成完整構(gòu)建需要3個(gè)多小時(shí),執(zhí)行一次完整的代碼質(zhì)量檢查需要4個(gè)小時(shí)。

        (3)基于公司云的持續(xù)集成。

        后來(lái)隨著軟件代碼規(guī)模的迅速擴(kuò)張,在公司云上申請(qǐng)了53臺(tái)虛擬機(jī)開展持續(xù)集成工作。執(zhí)行一次持續(xù)集成完整構(gòu)建需要1個(gè)多小時(shí),執(zhí)行一次完整的代碼質(zhì)量檢查需要2個(gè)小時(shí)。

        工作實(shí)踐表明,在虛擬云環(huán)境中可以根據(jù)軟件代碼量的變化隨時(shí)改變虛擬機(jī)的數(shù)量和規(guī)格,靈活開展持續(xù)集成工作。

        6 結(jié)束語(yǔ)

        云構(gòu)建環(huán)境中開展持續(xù)集成工作,從設(shè)備層面來(lái)講,可以對(duì)私有云的虛擬機(jī)進(jìn)行統(tǒng)一部署、管理與監(jiān)控,提高資源利用效率。集中管理可以提高管理人員技術(shù)水平,提高服務(wù)質(zhì)量,節(jié)約人力和物力。在軟件產(chǎn)品開發(fā)層面,各產(chǎn)品可以根據(jù)軟件源代碼規(guī)模靈活申請(qǐng)?jiān)铺摂M機(jī)的數(shù)量和規(guī)格,提高軟件持續(xù)集成的速度與效率,從而節(jié)約軟硬件資源,提高軟件開發(fā)效率,降低軟件開發(fā)成本。

        [1] 陳國(guó)良,明 仲,馮禹洪.云計(jì)算工程[M].北京:人民郵電出版社,2016.

        [2] 魏志華,趙強(qiáng)強(qiáng).構(gòu)建企業(yè)私有云軟件測(cè)試平臺(tái)[J].電子技術(shù)與軟件工程,2015(9):63-64.

        [3] JUN W,MENG Fanpeng.Software testing based on cloud computing[C]//International conference on internet computing and information services.[s.l.]:[s.n.],2011:176-178.

        [4] 孟祥超.云計(jì)算環(huán)境下的軟件測(cè)試服務(wù)研究[D].大連:大連海事大學(xué),2013.

        [5] 嚴(yán)宇平,王學(xué)文,陸 璐.基于云平臺(tái)的軟件自動(dòng)持續(xù)集成研究[J].信息通信技術(shù),2014,8(1):50-54.

        [6] DUVALL P M,MATYAS S,GLOVER A.持續(xù)集成軟件質(zhì)量改進(jìn)和風(fēng)險(xiǎn)降低之道[M].北京:電子工業(yè)出版社,2012.

        [7] 蘭 洋,溫迎福.持續(xù)集成實(shí)踐[M].北京:電子工業(yè)出版社,2015.

        [8] 姜 文,劉立康.基于ClearCase的軟件配置管理與持續(xù)集成[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(1):10-17.

        [9] 姜 文,劉立康.基于SVN的軟件配置管理和持續(xù)集成[J].電子設(shè)計(jì)工程,2016,24(2):1-5.

        [10] COLLINS-SUSSMAN B C,F(xiàn)ITZPATRICK B W,PILATO C M.Version control with subversion for subversion 1.5[M].[s.l.]:[s.n.],2005.

        [11] KUNG S,ONKEN L,LARGE S.Tortoise SVN version 1.5.2[M].[s.l.]:[s.n.],2005.

        [12] 姜 文,劉立康.軟件配置管理中的基線問(wèn)題研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(6):6-10.

        [13] LOELIGER J,MCCULLOUGH M.Git版本控制管理[M].王迪,丁 彥,譯.第2版.北京:人民郵電出版社,2015.

        [14] 王春海.VMware虛擬化與云計(jì)算應(yīng)用案例詳解[M].北京:中國(guó)鐵道出版社,2013.

        [15] 張小斌.OpenStack企業(yè)云平臺(tái)架構(gòu)與實(shí)踐[M].北京:電子工業(yè)出版社,2015.

        [16] Amazonvirtual private cloud user guide[R].[s.l.]:Amazon Web Services,Inc.,2013.

        猜你喜歡
        代理服務(wù)器配置文件項(xiàng)目組
        提示用戶配置文件錯(cuò)誤 這樣解決
        CSCO生物統(tǒng)計(jì)學(xué)專家委員會(huì)RWE項(xiàng)目組簡(jiǎn)介
        Association between estradiol levels and clinical outcomes of IVF cycles with single blastocyst embryo transfer
        基于數(shù)字化平臺(tái)的項(xiàng)目組管理實(shí)踐
        搭建簡(jiǎn)單的Kubernetes集群
        互不干涉混用Chromium Edge
        地鐵信號(hào)系統(tǒng)中代理服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
        忘記ESXi主機(jī)root密碼怎么辦
        IP地址隱藏器
        項(xiàng)目組研究式教學(xué)對(duì)社會(huì)主義學(xué)院教師能力素質(zhì)的要求及培養(yǎng)
        91精品国产丝袜在线拍| 麻豆md0077饥渴少妇| 免费毛片a线观看| 亚州综合激情另类久久久| 亚洲亚洲亚洲亚洲亚洲天堂| 亚洲日本高清一区二区| 亚洲午夜成人精品无码色欲| 2019最新国产不卡a| 国产激情一区二区三区成人免费| 视频一区精品中文字幕| 美女扒开屁股让男人桶| 亚洲综合精品成人| 91精品欧美综合在线观看| 精品老熟女一区二区三区在线| 国产成人av一区二区三区在线观看| 18禁超污无遮挡无码免费游戏| 婷婷一区二区三区在线| 亚洲国产福利精品一区二区| 亚洲av影片一区二区三区| 亚洲一区二区三区四区精品| 神马影院日本一区二区| 无码尹人久久相蕉无码| 国产精品无套内射迪丽热巴| 亚洲久无码中文字幕热| 精品国产一区二区三区毛片| 国产成人精品一区二区20p| 少妇愉情理伦片丰满丰满午夜 | 国产亚洲精品A在线无码| 亚洲区精品久久一区二区三区女同 | 女同一区二区三区在线观看 | 国产一区二区三区我不卡| 亚洲欧美精品suv| 欧美日韩国产专区| 亚洲va中文字幕无码久久不卡 | 免费xxx在线观看| 国产91在线|亚洲| 久久精品熟女亚洲av麻豆永永| 免费人成视频x8x8入口| 一区二区三区国产亚洲网站| 久久这里都是精品一区| 色婷婷av一区二区三区不卡|