亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種用于Linux平臺的軟件持續(xù)集成方法及裝置與流程

文檔序號:11690947閱讀:133來源:國知局
一種用于Linux平臺的軟件持續(xù)集成方法及裝置與流程

本發(fā)明涉及計算機軟件開發(fā)技術領域,尤其涉及一種用于linux平臺的軟件持續(xù)集成方法及裝置。



背景技術:

持續(xù)集成(continuousintegration)簡稱ci,是一種軟件開發(fā)實踐,可以讓團隊在持續(xù)集成的基礎上收到反饋并加以改進,而不必等到開發(fā)的后期才尋找和修復缺陷。持續(xù)集成的重要要素為:統(tǒng)一的代碼庫;ci服務器;自動化測試和構建的腳本;slaves。其中ci服務器控制持續(xù)集成的整個過程,輪詢代碼庫更新,根據(jù)預定義的腳本進行項目的構建,服務器將任務分配到slave端。

隨著軟件項目復雜度的增加,每一次軟件項目集成都需要進行持續(xù)集成環(huán)境的搭建,且軟件開發(fā)人員需要了解各種服務器的部署方式、環(huán)境配置、搭建不同平臺的測試環(huán)境,對軟件開發(fā)、測試以及發(fā)布的效率有很大的影響。



技術實現(xiàn)要素:

本發(fā)明為解決背景技術中的技術問題,提供一種用于linux平臺的軟件持續(xù)集成方法及裝置,能將軟件開發(fā)的各個環(huán)節(jié)都統(tǒng)一起來,提高軟件開發(fā)、測試以及發(fā)布的效率。

本發(fā)明提供的技術方案是:

一種用于linux平臺的軟件持續(xù)集成方法,包括:

步驟一,調(diào)用持續(xù)集成工具獲取待集成軟件代碼;

步驟二,調(diào)用編譯平臺對所述待集成軟件代碼進行集成編譯;

步驟三,判斷集成編譯是否出錯,如有錯誤,則返回集成編譯錯誤的提示信息;如沒有錯誤,則將編譯后的所述待集成軟件代碼復制到集成軟件輸出平臺;

步驟四,調(diào)用測試平臺從所述集成軟件輸出平臺復制集成編譯后的所述待集成軟件代碼,并控制所述測試平臺對集成編譯后的所述待集成軟件代碼進行集成測試;

步驟五,輸出集成測試結果及集成測試日志。

進一步的,所述步驟二中的編譯平臺對所述待集成軟件代碼進行集成編譯具體是指:控制所述編譯平臺啟動虛擬機,通過所述編譯平臺中的虛擬機所構建的編譯環(huán)境對所述待集成軟件代碼進行集成編譯。

進一步的,在所述調(diào)用編譯平臺對所述待集成軟件代碼進行集成編譯的步驟之前還包括,判斷所述待集成軟件代碼所采用的編譯方案信息,所述編譯平臺選用與所述待集成軟件代碼相匹配的編譯方案信息進行集成編譯。

進一步的,在步驟五之后還包括,步驟六:向歸檔平臺發(fā)送歸檔指令,以使所述歸檔平臺根據(jù)所述歸檔指令從所述軟件輸出平臺復制編譯后的所述待集成軟件代碼,并將所述編譯后的所述待集成軟件代碼打包。

進一步的,所述步驟六中向歸檔平臺發(fā)送歸檔指令具體是指:調(diào)用所述測試平臺發(fā)送歸檔指令,通知所述編譯平臺對編譯后的所述待集成的軟件代碼進行歸檔,并控制所述編譯平臺將所述歸檔指令發(fā)送給歸檔平臺。

本發(fā)明還公開了一種用于linux平臺的軟件持續(xù)集成裝置,包括:

獲取單元,用于調(diào)用持續(xù)集成工具獲取待集成軟件代碼;

編譯單元,用于調(diào)用編譯平臺對所述待集成軟件代碼進行集成編譯;

第一判斷單元,用于判斷集成編譯是否出錯,如有錯誤,則返回集成編譯錯誤的提示信息;如沒有錯誤,則將編譯后的所述待集成軟件代碼復制到集成軟件輸出平臺;

測試單元,用于調(diào)用測試平臺從所述集成軟件輸出平臺復制集成編譯后的所述待集成軟件代碼,并控制所述測試平臺對集成編譯后的所述待集成軟件代碼進行集成測試;

輸出單元,用于輸出集成測試結果及集成測試日志。

進一步的,所述編譯單元還包括:虛擬機啟動單元,用于控制所述編譯平臺啟動虛擬機,通過所述編譯平臺中的虛擬機所構建的編譯環(huán)境對所述待集成軟件代碼進行集成編譯。

進一步的,軟件持續(xù)集成裝置還包括:第二判斷單元,用于判斷所述待集成軟件代碼所采用的編譯方案信息,所述編譯平臺選用與所述待集成軟件代碼相匹配的編譯編譯方案信息進行集成編譯。

進一步的,軟件持續(xù)集成裝置還包括歸檔單元,用于向歸檔平臺發(fā)送歸檔指令,以使所述歸檔平臺根據(jù)所述歸檔指令從所述軟件輸出平臺復制編譯后的所述待集成軟件代碼,并將所述編譯后的所述待集成軟件代碼打包。

進一步的,所述歸檔單元包括歸檔指令傳遞單元,用于調(diào)用所述測試平臺發(fā)送歸檔指令,通知所述編譯平臺對編譯后的所述待集成的軟件代碼進行歸檔,并控制所述編譯平臺將所述歸檔指令發(fā)送給歸檔平臺。

本發(fā)明的有益效果在于:通過整合持續(xù)集成工具、軟件編譯平臺、軟件測試平臺,具體是調(diào)用持續(xù)集成工具獲取待集成軟件代碼;調(diào)用編譯平臺對所述待集成的軟件代碼進行集成編譯,將待集成的軟件編譯為二進制或其它格式的程序代碼;其次判斷集成編譯過程是否有錯誤,如果有錯誤,則反饋編譯錯誤的提示信息,如果沒有錯誤,則將編譯后的待集成軟件代碼復制到集成軟件輸出平臺;調(diào)用測試平臺對集成編譯后的待集成軟件代碼進行集成測試,最后將集成測試結果以及集成測試日志反饋給相關的開發(fā)/測試人員,以及時進行軟件修復。解決了現(xiàn)有技術中軟件開發(fā)、測試以及發(fā)布的效率低的技術問題。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:

圖1為本發(fā)明實施例所提供的軟件持續(xù)集成方法流程圖;

圖2為本發(fā)明實施例所提供的軟件持續(xù)集成方法中具體各平臺連接示意圖;

圖3為本發(fā)明實施例所提供的軟件持續(xù)集成裝置框圖。

具體實施方式

下面結合圖1-3對本發(fā)明提供的技術方案進行更為詳細的闡述。

以及列舉本發(fā)明的一些可選實施例的方式,對本發(fā)明的技術方案(包括優(yōu)選技術方案)做進一步的詳細描述。需要說明的是:本實施例中的任何技術特征、任何技術方案均是多種可選的技術特征或可選的技術方案中的一種或幾種,為了描述簡潔的需要本文件中無法窮舉本發(fā)明的所有可替代的技術特征以及可替代的技術方案,也不便于每個技術特征的實施方式均強調(diào)其為可選的多種實施方式之一,所以本領域技術人員應該知曉:可以將本發(fā)明提供的任意技術手段進行替換或?qū)⒈景l(fā)明提供的任意兩個或更多個技術手段或技術特征互相進行組合而得到新的技術方案。本實施例內(nèi)的任何技術特征以及任何技術方案均不限制本發(fā)明的保護范圍,本發(fā)明的保護范圍應該包括本領域技術人員不付出創(chuàng)造性勞動所能想到的任何替代技術方案以及本領域技術人員將本發(fā)明提供的任意兩個或更多個技術手段或技術特征互相進行組合而得到的新的技術方案。

本發(fā)明提供了一種用于linux平臺的軟件持續(xù)集成方法,如圖1所示,包括:

s10,調(diào)用持續(xù)集成工具獲取待集成軟件代碼;

持續(xù)集成工具例如cruisecontrol、hudson、jenkins以及continuum。在軟件開發(fā)項目中,通過持續(xù)集成,軟件開發(fā)成員頻繁集成他們的工作成果,通常每個人每天可能集成多次,而這個過程即是通過持續(xù)集成工具不斷進行軟件版本的發(fā)布/測試,持續(xù)集成工具獲取待集成軟件的代碼。

s20,調(diào)用編譯平臺對所述待集成軟件代碼進行集成編譯;

在持續(xù)集成工具獲取待集成軟件的代碼后,調(diào)用編譯平臺對所述待集成軟件代碼進行集成編譯,具體可以是:通過虛擬機中的預存的腳本使用git獲取待集成軟件代碼,進行編譯。其中虛擬機具體是指通過軟件模擬、具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng),具體包括各種基于kvm的虛擬機,通過在虛擬機中預存的腳本獲取持續(xù)集成工具所獲得的軟件代碼,并進行編譯,將軟件代碼編譯為二進制或其它格式的程序代碼。

s30,判斷集成編譯是否出錯,如有錯誤,則返回集成編譯錯誤的提示信息;如沒有錯誤,則將編譯后的所述待集成軟件代碼復制到集成軟件輸出平臺;

判斷編譯平臺對軟件代碼的編譯是否出錯,如果出現(xiàn)錯誤,則給出編譯錯誤的提示,若沒有錯誤,則將編譯完成的軟件代碼復制到集成軟件輸出平臺,使得開發(fā)/測試人員可以通過軟件輸出平臺所提供的cifs共享得到可用的軟件包。

s40,調(diào)用測試平臺從所述集成軟件輸出平臺復制集成編譯后的所述待集成軟件代碼,并控制所述測試平臺對集成編譯后的所述待集成軟件代碼進行集成測試;

其中測試平臺由一臺或多臺服務器組成,用于運行測試的各種虛擬機,具體包括不同客戶端平臺、不同瀏覽器以及不同的硬件配置,具體的,在構建虛擬機時便已準備好測試腳本以及測試工具,通過調(diào)用測試平臺的自動化測試功能,對從軟件輸出平臺復制已編譯完成的軟件代碼進行測試。

s50,輸出集成測試結果及集成測試日志;

輸出測試平臺對已編譯完成軟件代碼的集成測試結果以及集成測試日志,以使得相關的開發(fā)/測試人員能夠通過測試結果以及測試日志的反饋結果,及時進行改進,而不用等到開發(fā)周期的后期才尋找和修復缺陷。

本實施例所提供的持續(xù)集成方法通過整合持續(xù)集成工具、軟件編譯平臺、軟件測試平臺,具體是調(diào)用持續(xù)集成工具獲取待集成軟件代碼;調(diào)用編譯平臺對所述待集成的軟件代碼進行集成編譯,將待集成的軟件編譯為二進制或其它格式的程序代碼;其次判斷集成編譯過程是否有錯誤,如果有錯誤,則反饋編譯錯誤的提示信息,如果沒有錯誤,則將編譯后的待集成軟件代碼復制到集成軟件輸出平臺;調(diào)用測試平臺對集成編譯后的待集成軟件代碼進行集成測試,最后將集成測試結果以及集成測試日志反饋給相關的開發(fā)/測試人員,以及時進行軟件修復。

本實施例通過將軟件開發(fā)的各個環(huán)節(jié)都統(tǒng)一起來,以實現(xiàn)軟件開發(fā)過程中的所有步驟,且軟件開發(fā)人員無需了解各種服務器的部署方式、環(huán)境配置,且無需針對不同的軟件搭建不同的編譯、測試環(huán)境,便可以在軟件開發(fā)的過程中頻繁地集成工作成果,提高了軟件開發(fā)、測試以及發(fā)布的效率。

進一步的,s20中的編譯平臺對所述待集成軟件代碼進行集成編譯具體是指:控制所述編譯平臺啟動虛擬機,通過所述編譯平臺中的虛擬機所構建的編譯環(huán)境對所述待集成軟件代碼進行集成編譯。

具體的,在虛擬機啟動之前,通過事先搭建多種編譯環(huán)境,使得在對軟件代碼進行編譯的過程中,能夠多采用不同編譯方式的代碼進行編譯,以實現(xiàn)根據(jù)待集成的軟件代碼自動構建編譯環(huán)境,提高軟件編譯的效率;同時,獲取所需的第3方庫文件以及壓縮工具,具體的,壓縮工具包括但不限于html壓縮工具、css壓縮工具以及javascript壓縮工具,通過壓縮工具將已編譯完成的軟件代碼打包進行保存。

進一步的,在s20以前,還包括:判斷所述待集成軟件代碼所采用的編譯方案信息,所述編譯平臺選用與所述待集成軟件代碼相匹配的編譯方案信息進行集成編譯。編譯方案包括編譯方式,例如,判斷源軟件代碼的編譯方式是c/c++編譯代碼、python編譯代碼或者html/css/js壓縮代碼。通過在編譯之前對源軟件代碼的編譯方式進行判斷,能準確快速地搭建編譯環(huán)境,提高編譯的準確性以及效率。

進一步的,在s50后還包括s60:向歸檔平臺發(fā)送歸檔指令,以使所述歸檔平臺根據(jù)所述歸檔指令從所述軟件輸出平臺復制編譯后的所述待集成軟件代碼,并將所述編譯后的所述待集成軟件代碼打包。具體的,歸檔平臺發(fā)送歸檔指令具體是指:調(diào)用所述測試平臺發(fā)送歸檔指令,通知所述編譯平臺對編譯后的所述待集成的軟件代碼進行歸檔,并控制所述編譯平臺將所述歸檔指令發(fā)送給歸檔平臺。

歸檔平臺通過代碼軟件管理工具,例如git客戶端拉取代碼,同時通過cifs共享將軟件輸出平臺中已編譯的軟件一同通過zip打包。其中,git是運行于linux平臺的版本控制工具。與常用的版本控制工具cvs,subversion等不同,其采用的是分布式版本庫的方式,不必服務器端軟件支持,使源代碼的發(fā)布和交流更加方便,且git速度很快,對于大型的軟件開發(fā)項目而言更加重要。git本身并不需要有獨立的服務器,但為了方便管理及代碼版本的備份,本實施例中配置了一臺git服務器用于存放代碼。

進一步的,歸檔平臺進行歸檔之后,反饋所述已編譯完成的軟件代碼的路徑和/或歸檔平臺的歸檔路徑和/或測試結果及測試日志。通過反饋編譯平臺已編譯完成的軟件代碼路徑、通過測試平臺獲取的測試結果以及測試日志,使得相關的開發(fā)/測試人員能夠及時的發(fā)現(xiàn)軟件開發(fā)過程中存在的缺陷,及時地做出修復,提高軟件開發(fā)、測試以及發(fā)布的效率。

下面通過一個具體的例子來詳細說明上述方法是如何實現(xiàn)的,其中各平臺之間的連接關系如圖2所示。

其中glusterfs共享卷是分布式集群文件系統(tǒng),具體由多臺服務器組成,可建立多個目錄,下面以一種目錄的設置方式與各平臺的關聯(lián)關系進行說明:

/testvm:用于存放“測試平臺”使用的基于kvm的虛擬機及其運行環(huán)境,且該目錄通過nfs共享,并配置為只允許“測試平臺”所在主機可以訪問。通過使用nfs,用戶和程序可以像訪問本地文件一樣訪問遠端系統(tǒng)上的文件,提高

/testvmtemp:用于存放“測試平臺”使用的基于kvm的虛擬機的模板文件,且該目錄通過nfs共享,并配置為只允許“測試平臺”所在主機以讀寫方式訪問。

/ciweb:用于存放ci平臺中的程序文件,該目錄通過nfs共享,并配置為只允許“ci平臺”所在主機以只讀方式訪問。

/ciatta:用于存放ci平臺中用于上傳的各種附件,通過nfs共享,并配置為只允許“ci平臺”所在主機以讀寫方式訪問。

/db:用于存放數(shù)據(jù)庫平臺,例如mysql數(shù)據(jù)庫文件,其為關聯(lián)數(shù)據(jù)庫管理系統(tǒng),通過將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),增加了數(shù)據(jù)處理的速度并提高使用的靈活性,通過nfs共享,并配置為只允許數(shù)據(jù)庫平臺所在主機以讀寫方式訪問。

/git:用于存放代碼管理工具的配置及程序文件,此處以git為例,通過nfs共享,并配置為只允許“代碼管理工具”所在主機以讀寫方式訪問。

/makevm:用于存放“編譯平臺”使用的基于kvm的虛擬機的運行環(huán)境,通過nfs共享,并配置為只允許“編譯平臺”所在主機可以訪問。

/makevmtmp:用于存放“編譯平臺”使用的基于kvm的虛擬機的模板文件,通過nfs共享,并配置為只允許“編譯平臺”所在主機以讀寫方式訪問。

/soft:用于存放經(jīng)由“編譯平臺”編譯為二進制或其它格式的程序代碼。該目錄通過nfs共享,并配置為只允許“編譯平臺”所在主機以讀寫方式訪問;同時該目錄通過cifs共享,允許所有“開發(fā)/測試人員”以只讀方式進行訪問。

其工作過程如下:通過安裝持續(xù)集成工具,例如:jenkins,或者缺陷管理工具,例如:mantis,獲取待集成軟件代碼,其中,這些工具所要使用的數(shù)據(jù)庫文件均存放在數(shù)據(jù)庫平臺所在主機;調(diào)用編譯平臺,例如,ubuntu的編譯平臺,其中,編譯平臺可由1臺或多臺服務器組成,主要用于運行虛擬機,每個虛擬機都從/makevmtmp目錄中復制到/makevm目錄,具體的,虛擬機在構建以前,便已經(jīng)配置好多種編譯環(huán)境、所需的第3方庫文件、html壓縮工具、css壓縮工具以及javascript壓縮工具。編譯平臺中的對應的虛擬機通過git客戶拉取待集成的軟件代碼,進行集成編譯,將編譯完成的內(nèi)容存入/soft目錄,開發(fā)/測試人員可以通過集成軟件輸出平臺提供的cifs共享得到可用的軟件包;其次判斷集成編譯過程是否有錯誤,如果有錯誤,則反饋編譯錯誤的提示信息,如果沒有錯誤,則將編譯后的待集成軟件代碼復制到集成軟件輸出平臺;調(diào)用測試平臺,例如:ubuntu測試平臺,其可由1臺或多臺服務器組成,用于運行測試的虛擬機,具體包括不同客戶端平臺、不同瀏覽器以及不同硬件配置,每個虛擬機都從/testvmtemp目錄中復制到/testvm目錄,虛擬機在構建前便配置好測試腳本以及測試工具,對集成編譯后的待集成軟件代碼進行集成測試,測試平臺測試完成后,通知編譯平臺進行編譯后的待集成軟件代碼歸檔,具體是歸檔平臺通過git客戶端拉取代碼,同時通過cifs共享將集成軟件輸出平臺中編譯后的待集成軟件代碼通過zip打包。最后將集成測試結果以及集成測試日志反饋給相關的開發(fā)/測試人員,以及時進行軟件修復。

本發(fā)明還提供一種用于linux平臺的軟件持續(xù)集成裝置,如圖3所示,包括:

獲取單元101,用于調(diào)用持續(xù)集成工具獲取待集成軟件代碼;

獲取單元101通過持續(xù)集成工具,例如cruisecontrol、hudson、jenkins以及continuum。在軟件開發(fā)項目中,通過持續(xù)集成,軟件成員頻繁集成他們的工作成果,通常每個人每天可能集成多次,而這個過程即是通過持續(xù)集成工具不斷進行軟件版本的發(fā)布/測試,持續(xù)集成工具獲取待集成軟件的代碼。

編譯單元102,用于調(diào)用編譯平臺對所述待集成軟件代碼進行集成編譯;

在獲取單元101獲取待集成軟件代碼后,編譯單元102調(diào)用編譯平臺對所述待集成軟件代碼進行集成編譯,具體可以是:通過虛擬機中的預存的腳本使用git獲取待集成軟件代碼,進行編譯。其中虛擬機具體是指通過軟件模擬、具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng),具體包括各種基于kvm的虛擬機,通過在虛擬機中預存的腳本獲取持續(xù)集成工具所獲得的軟件代碼,并進行編譯,將軟件代碼編譯為二進制或其它格式的程序代碼。

第一判斷單元103,用于判斷集成編譯是否出錯,如有錯誤,則返回集成編譯錯誤的提示信息;如沒有錯誤,則將編譯后的所述待集成軟件代碼復制到集成軟件輸出平臺;

判斷編譯平臺對軟件代碼的編譯是否出錯,如果出現(xiàn)錯誤,則給出編譯錯誤的提示,若沒有錯誤,則將編譯完成的軟件代碼復制到集成軟件輸出平臺,使得開發(fā)/測試人員可以通過軟件輸出平臺所提供的cifs共享得到可用的軟件包。

測試單元104,用于調(diào)用測試平臺從所述集成軟件輸出平臺復制集成編譯后的所述待集成軟件代碼,并控制所述測試平臺對集成編譯后的所述待集成軟件代碼進行集成測試;

其中測試平臺由一臺或多臺服務器組成,用于運行測試的各種虛擬機,具體包括不同客戶端平臺、不同瀏覽器以及不同的硬件配置,具體的,在構建虛擬機時便已準備好測試腳本以及測試工具,通過調(diào)用測試平臺的自動化測試功能,對從軟件輸出平臺復制已編譯完成的軟件代碼進行測試。

輸出單元105,用于輸出集成測試結果及集成測試日志。

結果輸出單元105輸出測試平臺對已編譯完成軟件代碼的集成測試結果以及集成測試日志,以使得相關的開發(fā)/測試人員能夠通過測試結果以及測試日志的反饋結果,及時進行改進,而不用等到開發(fā)周期的后期才尋找和修復缺陷。

本實施例所提供的持續(xù)集成方法通過整合持續(xù)集成工具、軟件編譯平臺、軟件測試平臺,具體是通過獲取單元101調(diào)用持續(xù)集成工具獲取待集成軟件代碼;編譯單元102調(diào)用編譯平臺對所述待集成的軟件代碼進行集成編譯,將待集成的軟件編譯為二進制或其它格式的程序代碼;其次通過第一判斷單元103判斷集成編譯過程是否有錯誤,如果有錯誤,則反饋編譯錯誤的提示信息,如果沒有錯誤,則將編譯后的待集成軟件代碼復制到集成軟件輸出平臺;通過測試單元104調(diào)用測試平臺對集成編譯后的待集成軟件代碼進行集成測試,最后將集成測試結果以及集成測試日志反饋給相關的開發(fā)/測試人員,以及時進行軟件修復。

本實施例通過將軟件開發(fā)的各個環(huán)節(jié)都統(tǒng)一起來,以實現(xiàn)軟件開發(fā)過程中的所有步驟,且軟件開發(fā)人員無需了解各種服務器的部署方式、環(huán)境配置,且無需針對不同的軟件搭建不同的編譯、測試環(huán)境,便可以在軟件開發(fā)的過程中頻繁地集成工作成果,提高了軟件開發(fā)、測試以及發(fā)布的效率。

進一步的,所述編譯單元還包括:虛擬機啟動單元,用于啟動虛擬機,通過虛擬機所構建的編譯環(huán)境對所述待集成軟件代碼進行集成編譯。

具體的,在虛擬機啟動之前,通過事先搭建多種編譯環(huán)境,使得在對軟件代碼進行編譯的過程中,能夠多采用不同編譯方式的代碼進行編譯,以實現(xiàn)根據(jù)待集成的軟件代碼自動構建編譯環(huán)境,提高軟件編譯的效率;同時,獲取所需的第3方庫文件以及壓縮工具,具體的,壓縮工具包括但不限于html壓縮工具、css壓縮工具以及javascript壓縮工具,通過壓縮工具將已編譯完成的軟件代碼打包進行保存。

進一步的,軟件持續(xù)集成裝置還包括:第二判斷單元,用于判斷所述待集成軟件代碼所采用的編譯方式,所述編譯平臺選用與所述待集成軟件代碼相匹配的編譯方式進行集成編譯。例如,判斷源軟件代碼的編譯方式是c/c++編譯代碼、python編譯代碼或者html/css/js壓縮代碼。通過在編譯之前對源軟件代碼的編譯方式進行判斷,能準確快速地搭建編譯環(huán)境,提高編譯的準確性以及效率。

進一步的,軟件持續(xù)集成裝置還包括歸檔單元,用于向歸檔平臺發(fā)送歸檔指令,以使所述歸檔平臺根據(jù)所述歸檔指令從所述軟件輸出平臺復制編譯后的所述待集成軟件代碼,并將所述編譯后的所述待集成軟件代碼打包。具體的,所述歸檔單元包括歸檔指令傳遞單元,用于由所述測試平臺通知所述編譯平臺對所述編譯后的待集成的軟件代碼歸檔;所述編譯平臺發(fā)送歸檔指令給歸檔平臺。

歸檔平臺通過代碼軟件管理工具,例如git客戶端拉取代碼,同時通過cifs共享將軟件輸出平臺中已編譯的軟件一同通過zip打包。其中,git是運行于linux平臺的版本控制工具。與常用的版本控制工具cvs,subversion等不同,其采用的是分布式版本庫的方式,不必服務器端軟件支持,使源代碼的發(fā)布和交流更加方便,且git速度很快,對于大型的軟件開發(fā)項目而言更加重要。git本身并不需要有獨立的服務器,但為了方便管理及代碼版本的備份,本實施例中配置了一臺git服務器用于存放代碼。

本發(fā)明實施例所提供的持續(xù)集成方法及裝置通過將軟件開發(fā)的各個環(huán)節(jié)都統(tǒng)一起來,以實現(xiàn)軟件開發(fā)過程中的所有步驟,且軟件開發(fā)人員無需了解各種服務器的部署方式、環(huán)境配置,且無需針對不同的軟件搭建不同測試環(huán)境,便可以在軟件開發(fā)的過程中頻繁地集成工作成果,提高了軟件開發(fā)、測試以及發(fā)布的效率。

最后應當說明的是:以上實施例僅用以說明本發(fā)明的技術方案而非對其限制;盡管參照較佳實施例對本發(fā)明進行了詳細的說明,所屬領域的普通技術人員應當理解:依然可以對本發(fā)明的具體實施方式進行修改或者對部分技術特征進行等同替換;而不脫離本發(fā)明技術方案的精神,其均應涵蓋在本發(fā)明請求保護的技術方案范圍當中。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1