美章網(wǎng) 資料文庫(kù) 阿里云下的持續(xù)集成系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)范文

阿里云下的持續(xù)集成系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)范文

本站小編為你精心準(zhǔn)備了阿里云下的持續(xù)集成系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫(xiě)作靈感。歡迎深入閱讀并收藏。

阿里云下的持續(xù)集成系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)

【關(guān)鍵詞】持續(xù)集成系統(tǒng);阿里云插件;模塊化設(shè)計(jì)

1引言

很多軟件項(xiàng)目都有一個(gè)非常奇怪而又常見(jiàn)的特征,即在開(kāi)發(fā)過(guò)程里,應(yīng)用程序在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)無(wú)法運(yùn)行。大規(guī)模團(tuán)隊(duì)開(kāi)發(fā)軟件中,大多數(shù)公司只會(huì)在項(xiàng)目收尾階段才進(jìn)行分支合并、試運(yùn)行和驗(yàn)收測(cè)試的工作,甚至還會(huì)發(fā)現(xiàn)軟件并不能滿足需求的情況。持續(xù)集成是一種根本的顛覆。在交付過(guò)程中,問(wèn)題暴露的越早,修復(fù)代碼的成本越低,成功部署的概率就越大。持續(xù)集成高頻率地編譯、測(cè)試、審查、部署項(xiàng)目代碼,這其中代碼集成是主要的風(fēng)險(xiǎn)來(lái)源。因此用戶(hù)可以體會(huì)到持續(xù)集成在互聯(lián)網(wǎng)行業(yè)迅速發(fā)展的今天,是非常重要的。設(shè)計(jì)并開(kāi)發(fā)一個(gè)自動(dòng)化的測(cè)試系統(tǒng),可以有效地幫助企業(yè)完成其整個(gè)的自動(dòng)化測(cè)試過(guò)程,對(duì)整體的一個(gè)開(kāi)發(fā)環(huán)境下某些特殊的軟件測(cè)試系統(tǒng)應(yīng)該考慮如何能夠讓其進(jìn)行全面的、完整的測(cè)試,這些都是新時(shí)代里自動(dòng)化軟件測(cè)試領(lǐng)域里研究的焦點(diǎn)問(wèn)題。本文對(duì)軟件自動(dòng)化測(cè)試的相關(guān)技術(shù)進(jìn)行了深入的分析研究,構(gòu)建了一個(gè)基于阿里云的持續(xù)集成方案,力圖從理論上和實(shí)用上獲得研究進(jìn)展。

2持續(xù)集成系統(tǒng)概述

應(yīng)用需求規(guī)模越是增加就造成需求變化越是頻繁,這種情況的產(chǎn)生對(duì)于軟件開(kāi)發(fā)提出了更高的要求,通過(guò)持續(xù)集成敏捷軟件開(kāi)發(fā)方法能夠?yàn)槠髽I(yè)提供解決的方案。引入迭代式的開(kāi)發(fā)方法將軟件生命周期分成幾個(gè)小的迭代周期過(guò)程,使得在開(kāi)發(fā)過(guò)程中能夠?qū)ψ兓龀隹焖俚捻憫?yīng),為了應(yīng)對(duì)變化的問(wèn)題敏捷過(guò)程在每個(gè)迭代周期過(guò)程完成之后為用戶(hù)提供階段成果,在用戶(hù)對(duì)階段性結(jié)果提出針對(duì)性的修改,滿足用戶(hù)的需求。軟件開(kāi)發(fā)過(guò)程中的多變性的需求也使得版本的時(shí)間周期作出調(diào)整,在邏輯復(fù)雜、需求多變、時(shí)間緊迫的開(kāi)發(fā)任務(wù)之下,敏捷軟件開(kāi)發(fā)方法不斷的進(jìn)行設(shè)計(jì)改進(jìn)和測(cè)試,通過(guò)多輪的更改和修正,從而實(shí)現(xiàn)項(xiàng)目過(guò)程中變化所帶來(lái)的成本的下降。因此持續(xù)集成受到軟件代碼程序員的支持成為了現(xiàn)階段軟件工作中不可或缺的內(nèi)容。持續(xù)集成模式如圖1所示。

3阿里云插件設(shè)計(jì)原理

3.1阿里云插件概述

阿里云是阿里巴巴官方的云服務(wù)平臺(tái),也有著大量的開(kāi)源產(chǎn)品,這對(duì)于某公司后續(xù)的二次開(kāi)發(fā)具有重要的意義。阿里云Eclipse插件(AliyunToolkitforEclipse)是阿里云官方提供的適用于EclipseJava集成開(kāi)發(fā)環(huán)境的應(yīng)用插件,致力于為廣大開(kāi)發(fā)者提供一站式解決方案,它集成了三部分功能:阿里云產(chǎn)品圖形界面、阿里云Java應(yīng)用向?qū)Ш桶⒗镌撇渴?amp;工具。阿里云eclipse插件能夠讓開(kāi)發(fā)人員更為輕松地使用阿里云系列產(chǎn)品進(jìn)行開(kāi)發(fā)、調(diào)試和部署Java應(yīng)用程序。借助阿里云Eclipse插件,可以更加快速構(gòu)建阿里云應(yīng)用程序,并提高生產(chǎn)力。

3.1.1云產(chǎn)品資源管理和查詢(xún)?cè)飘a(chǎn)品圖形界面集成了大部分阿里云管理控制臺(tái)功能,在開(kāi)發(fā)應(yīng)用程序時(shí),能夠輕松訪問(wèn)和管理賬戶(hù)下的云資產(chǎn),包括ECS、RDS、OSS等所有類(lèi)型的阿里云基礎(chǔ)設(shè)施產(chǎn)品。

3.1.2阿里云部署&工具當(dāng)使用阿里云Java應(yīng)用向?qū)Щ蜃孕型瓿杀镜仨?xiàng)目開(kāi)發(fā)后,借助于用戶(hù)提供的阿里云部署&工具,可以輕松的將本地的Java應(yīng)用部署到線上阿里云產(chǎn)品中,從而可以對(duì)線上環(huán)境中運(yùn)行的應(yīng)用程序進(jìn)行遠(yuǎn)程調(diào)試。

3.1.3阿里云Java應(yīng)用向?qū)О⒗镌艵clipse插件包含了適用于Java的阿里云SDK工具包,方便從無(wú)到有的在Eclipse內(nèi),構(gòu)建基于阿里云產(chǎn)品的應(yīng)用服務(wù),包括ECS、RDS、ESS等多種Java應(yīng)用程序。

3.2阿里云插件的配置

阿里云插件配置主要由圖片上傳工具osscmd安裝、項(xiàng)目配置以及上傳三個(gè)步驟。osscmd是基于Python2.x的命令行工具,支持Bucket管理、文件管理等功能。如圖2所示,其中圖片上傳工具osscmd的安裝,是把本地相對(duì)路徑static/下的包上傳到oss://qy-staticresources/website/里,并做md5校驗(yàn),然后進(jìn)行相關(guān)項(xiàng)目的后續(xù)配置。第二步是對(duì)項(xiàng)目maven進(jìn)行打包,項(xiàng)目maven打包的過(guò)程實(shí)際上是對(duì)插件的文件進(jìn)行打包,同時(shí)也檢驗(yàn)打包的空間是否滿足要求。項(xiàng)目maven打包如圖3所示。第三步是,上傳至OSS(ObjectStorageService)。在OSS中,用戶(hù)操作的基本數(shù)據(jù)單元是文件對(duì)象(Object)。單個(gè)文件的最大允許大小是根據(jù)上傳數(shù)據(jù)方式不同而不同的,如PutObject方式文件最大不能超過(guò)5GB。上傳至OSS如圖4所示。

4基于阿里云的持續(xù)集成系統(tǒng)功能模塊的實(shí)現(xiàn)

4.1基本開(kāi)發(fā)環(huán)境框架

針對(duì)基于阿里云的持續(xù)集成系統(tǒng)進(jìn)行的功能和系統(tǒng)開(kāi)發(fā),目的是為判定該系統(tǒng)所具有的功能是否正確。本測(cè)試為保證軟件的正常運(yùn)行,服務(wù)器端選用了較高的軟硬件配置,客戶(hù)端采用商用的工作站,具體配置如下:軟件配置環(huán)境主要是:客戶(hù)端配置:Windows7操作系統(tǒng)瀏覽器配置:InternetExplorer8.0服務(wù)器軟件配置環(huán)境:jenkens服務(wù)器;ARP解析防火墻;Resin-3.0.27;SQLServer2013等。

4.2系統(tǒng)整體構(gòu)成和設(shè)計(jì)實(shí)現(xiàn)

基于阿里云持續(xù)集成系統(tǒng)的功能模塊,結(jié)合對(duì)于需求的分析我們可以將系統(tǒng)架構(gòu)分為三層:第一層是用戶(hù)接口層,第二層是適配處理層,第三層是下載處理層。用戶(hù)接口層屬于直接對(duì)接用戶(hù)的層次,主要是針對(duì)用戶(hù)的操作進(jìn)行實(shí)現(xiàn),屬于協(xié)議中系統(tǒng)應(yīng)用層,用戶(hù)可以通過(guò)安裝模塊實(shí)現(xiàn)全局配置;下載處理層則是將軟件版本與路由器端口對(duì)應(yīng),通過(guò)更新路由器新版本實(shí)現(xiàn)系統(tǒng)重啟升級(jí);適配處理層在在下載層和用戶(hù)接口層之間,主要是將兩層的數(shù)據(jù)相連接,通過(guò)處理可以實(shí)現(xiàn)兩層之間數(shù)據(jù)的傳輸。基于阿里云持續(xù)集成系統(tǒng)的適配處理層需要同時(shí)實(shí)現(xiàn)多個(gè)路由器版本升級(jí),因此在下載需求配置時(shí)需要多線程模塊同時(shí)進(jìn)行。結(jié)果報(bào)告模塊顯示命令行的結(jié)果,向用戶(hù)展示集成的結(jié)果。在功能層面,基于阿里云的持續(xù)集成系統(tǒng)功能模塊主要分為三個(gè)功能模塊:構(gòu)建、自動(dòng)化測(cè)試、持續(xù)集成系統(tǒng)。這三個(gè)模塊是構(gòu)建基于阿里云的持續(xù)集成系統(tǒng)最為基礎(chǔ)的三個(gè)內(nèi)容,因此本文基于構(gòu)建——自動(dòng)化測(cè)試——持續(xù)集成系統(tǒng)三個(gè)功能模塊展開(kāi)設(shè)計(jì)。

4.2.1構(gòu)建構(gòu)建主要通過(guò)初始化階段、用例執(zhí)行階段、報(bào)告生成階段三個(gè)階段實(shí)現(xiàn)。(1)初始化階段:初始化階段主要是springbean的初始化以及解析頁(yè)面信息配置文件,最終初始化測(cè)試數(shù)據(jù);springbean的初始化包括bean容器ExecutionUtil的初始化,通過(guò)ShutDownHook類(lèi)加入鉤子防止程序出現(xiàn)意外關(guān)閉的情況。加入主配置文件page.xml并導(dǎo)入文件流從而解析主配置文件,通過(guò)PageManager類(lèi)設(shè)置頁(yè)面對(duì)象和瀏覽器配置信息,通過(guò)DatalnfoManager類(lèi)設(shè)置頁(yè)面數(shù)據(jù)并關(guān)聯(lián)相關(guān)數(shù)據(jù)路徑,實(shí)現(xiàn)頁(yè)面對(duì)象信息的導(dǎo)入;最后頁(yè)面對(duì)象信息通過(guò)dataMap獲取對(duì)應(yīng)的數(shù)據(jù),將數(shù)據(jù)值預(yù)設(shè)在對(duì)應(yīng)對(duì)象上。(2)例執(zhí)行階段:用例執(zhí)行階段作為整個(gè)測(cè)試過(guò)程最為核心的活動(dòng),主要是完成不同的業(yè)務(wù)邏輯測(cè)試。完成邏輯測(cè)試需要啟動(dòng)測(cè)試過(guò)程監(jiān)聽(tīng)器,通過(guò)不同狀態(tài)執(zhí)行監(jiān)聽(tīng)對(duì)于各種測(cè)試情況進(jìn)行反饋。通過(guò)從pageMap中取出相關(guān)頁(yè)面對(duì)象并獲取用戶(hù)名文本框?qū)ο螅瑢?duì)文本框?qū)ο笸ㄟ^(guò)定位策略,定位到對(duì)應(yīng)文本框元素;根據(jù)頁(yè)面對(duì)象通過(guò)定位策略定位到實(shí)際頁(yè)面按鈕進(jìn)行點(diǎn)擊操作,到此業(yè)務(wù)邏輯操作完成。(3)告生成階段:主要功能有對(duì)測(cè)試過(guò)程的日志進(jìn)行整理、生成測(cè)試報(bào)告、發(fā)送郵件給相關(guān)人員。激活報(bào)告監(jiān)聽(tīng)并調(diào)用TestNG框架并發(fā)送報(bào)告郵件給關(guān)系人。

4.2.2自動(dòng)化測(cè)試自動(dòng)化測(cè)試是持續(xù)集成系統(tǒng)最為重要的執(zhí)行過(guò)程,通過(guò)測(cè)試服務(wù)主程序ITest.sh,來(lái)對(duì)指定的測(cè)試計(jì)劃進(jìn)行規(guī)劃并完成產(chǎn)品的測(cè)試工作。并通過(guò)每日構(gòu)建進(jìn)行日常檢查。通過(guò)日構(gòu)建進(jìn)行檢查,在測(cè)試計(jì)劃文件中,通過(guò)plan_coverage.sh的功能有效排除不成功的平臺(tái)測(cè)試計(jì)劃,檢查構(gòu)建報(bào)告是日構(gòu)建之中最為重要地工作。檢查構(gòu)建報(bào)告,主要是在自動(dòng)化測(cè)試前對(duì)構(gòu)建的結(jié)果報(bào)告進(jìn)行分析,通過(guò)對(duì)構(gòu)建成功的產(chǎn)品進(jìn)行分析,從而獲得自動(dòng)化測(cè)試可行性。

4.2.3持續(xù)集成系統(tǒng)基于阿里云的持續(xù)集成系統(tǒng)的實(shí)現(xiàn),借助于流水線業(yè)務(wù)實(shí)現(xiàn)。通過(guò)集成、測(cè)試、以及部署上線整個(gè)流程不斷的觸發(fā)達(dá)到持續(xù)集成的效果,在持續(xù)集成的過(guò)程中流水線功能可以快速發(fā)現(xiàn)問(wèn)題并及時(shí)修復(fù),從而提升產(chǎn)品的可靠度。定時(shí)啟動(dòng)管理主要是通過(guò)持續(xù)集成的機(jī)制,不斷定時(shí)進(jìn)行啟動(dòng)。代碼完成——測(cè)試完成——驗(yàn)收完成中所有流程的完成對(duì)于生產(chǎn)率的提升和測(cè)試有著重要的意義。實(shí)時(shí)監(jiān)控是與定時(shí)啟動(dòng)管理相互關(guān)聯(lián)的功能。實(shí)時(shí)監(jiān)控通過(guò)Jenkins實(shí)現(xiàn)了多任務(wù)同時(shí)運(yùn)行,實(shí)時(shí)監(jiān)控和報(bào)告構(gòu)建形成最終的結(jié)果,在宏調(diào)用下通過(guò)循環(huán)的方式執(zhí)行各構(gòu)建周期。報(bào)告日志讀取存儲(chǔ)管理,在測(cè)試環(huán)境的自動(dòng)部署完成之后執(zhí)行自動(dòng)化測(cè)試,最終向相關(guān)人員發(fā)送測(cè)試結(jié)果報(bào)告。

5總結(jié)

本文立足于持續(xù)集成系統(tǒng)的實(shí)際功能需求,在介紹持續(xù)集成系統(tǒng)的基礎(chǔ)上進(jìn)一步介紹阿里云插件設(shè)計(jì)原理以及基于阿里云的持續(xù)集成系統(tǒng)功能模塊的實(shí)現(xiàn),進(jìn)而實(shí)現(xiàn)構(gòu)建——自動(dòng)化測(cè)試——持續(xù)集成系統(tǒng)三個(gè)功能模塊的設(shè)計(jì)。本文的研究對(duì)于企業(yè)來(lái)說(shuō)借助該系統(tǒng)能夠進(jìn)行更為全面的、完整的測(cè)試,并將所有的過(guò)程完全的自動(dòng)化,具有很強(qiáng)的應(yīng)用價(jià)值。本文構(gòu)建了一個(gè)基于阿里云的持續(xù)集成方案,從理論上和實(shí)用上都具有一定價(jià)值。

參考文獻(xiàn)

[1]黃永剛,王斯洋.持續(xù)集成方法在項(xiàng)目中的應(yīng)用實(shí)踐[J].中國(guó)財(cái)政電腦,2008(8):59-61.

[2]王英.持續(xù)集成在軟件項(xiàng)目管理中的作用[J].福建電腦,2009(12):66-67.

[3]戴建國(guó),趙慶展,郭理.持續(xù)集成在項(xiàng)目開(kāi)發(fā)中的應(yīng)用研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(10):2573-2576.

[4]Kentbeck.測(cè)試驅(qū)動(dòng)開(kāi)發(fā):實(shí)戰(zhàn)與模式解析[M].北京:機(jī)械工業(yè)出版社,2013.

[6]吳志福.基于持續(xù)集成環(huán)境的軟件過(guò)程管理[J].福建電腦,2011(5):85-86.

[7]徐仕成,楊邦榮.基于CruiseCoWrol的持續(xù)集成實(shí)現(xiàn)方案[J].計(jì)算機(jī)與數(shù)字工程,2007,35(4):169-175.

[8]陳剛,羌鈴鈴.如何實(shí)現(xiàn)主從SMP之間轉(zhuǎn)發(fā)MML命令[J].電腦編程技巧與維護(hù),2010(6):41-43.

[9]劉嘯.主流源碼版本管理工具的特色淺析[J].程序員,2008(03):116-118.

作者:何東 單位:翼軟科技有限責(zé)任公司

主站蜘蛛池模板: 99热亚洲色精品国产88| 亚洲av永久无码精品三区在线4 | 翁熄性放纵交换| 国产成人无码精品一区在线观看 | 色妞AV永久一区二区国产AV| 国产手机精品一区二区| 5g影院天天爽天天| 天天做天天添婷婷我也去| 中文字幕免费在线观看动作大片| 日韩精品无码久久一区二区三| 亚洲大尺码专区影院| 熟女精品视频一区二区三区| 午夜久久久久久| 色www永久免费| 国产卡一卡二卡乱码三卡| 豆奶视频最新官网| 国产美女被遭强高潮免费网站| h片在线免费看| 岛国大片在线免费观看| 中日韩欧一本在线观看| 日本在线观看免费看片| 久久这里有精品视频| 欧美怡红院免费全部视频| 亚洲精品国产精品国自产观看| 男男gay18| 六月婷婷中文字幕| 美国一级毛片在线| 国产ts人妖系列视频网站| 香港三日本8A三级少妇三级99 | 8x成人在线电影| 国语对白一区二区三区| a级精品国产片在线观看| 岳又湿又紧粗又长进去好舒服| 久久99九九99九九精品| 日本漫画口工全彩内番漫画丝袜| 久久青青草原亚洲AV无码麻豆| 棉袜足j吐奶视频| 亚洲国产小视频| 欧美成人在线视频| 亚洲最大福利视频| 毛片A级毛片免费播放|