[發(fā)明專利]一種軟件持續(xù)集成系統(tǒng)及方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 200810065388.8 | 申請(qǐng)日: | 2008-02-21 |
| 公開(kāi)(公告)號(hào): | CN101515232A | 公開(kāi)(公告)日: | 2009-08-26 |
| 發(fā)明(設(shè)計(jì))人: | 劉玉鋒 | 申請(qǐng)(專利權(quán))人: | 卓望數(shù)碼技術(shù)(深圳)有限公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44 |
| 代理公司: | 深圳創(chuàng)友專利商標(biāo)代理有限公司 | 代理人: | 郭 燕 |
| 地址: | 518057廣東省深圳市*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 軟件 持續(xù) 集成 系統(tǒng) 方法 | ||
【技術(shù)領(lǐng)域】
本發(fā)明涉及軟件構(gòu)建,具體涉及一種軟件持續(xù)集成系統(tǒng)及方法。
【背景技術(shù)】
持續(xù)集成(CI,Continuous?Integration)是一種自動(dòng)化的軟件創(chuàng)建與測(cè)試過(guò)程,持續(xù)集成過(guò)程中,開(kāi)發(fā)團(tuán)隊(duì)可以每天多次構(gòu)建他們的軟件。作為一種軟件實(shí)踐,持續(xù)集成讓開(kāi)發(fā)團(tuán)隊(duì)在軟件構(gòu)建時(shí)持續(xù)收到反饋并進(jìn)行改進(jìn),而不必等到開(kāi)發(fā)周期后期才尋找和修復(fù)缺陷。典型的集成過(guò)程包括獲取代碼、編譯代碼、測(cè)試代碼以及記錄測(cè)試結(jié)果等幾個(gè)步驟。持續(xù)集成是反復(fù)地進(jìn)行軟件集成的過(guò)程,通常使用自動(dòng)化的集成工具來(lái)實(shí)現(xiàn)上述步驟。
現(xiàn)有的持續(xù)集成工具如CruiseControl之類的檢查工具運(yùn)行時(shí)執(zhí)行預(yù)定義的構(gòu)建腳本,腳本中定義了持續(xù)集成的流程,如從版本控制存儲(chǔ)庫(kù)獲取最新代碼,然后進(jìn)行代碼編譯、代碼測(cè)試以及測(cè)試結(jié)果記錄,最后通過(guò)郵件等方式通知用戶。版本控制存儲(chǔ)庫(kù)用于集中存放軟件的所有代碼,如微軟的Visual?Source?Safe工具,它是集成工具所需要的代碼來(lái)源。版本控制,就是通過(guò)版本控制庫(kù)記錄程序各個(gè)模組的改動(dòng),并為每次改動(dòng)編上序號(hào),例如,某軟件的1.0版本、1.1版本等代碼都存放在控制庫(kù)中,可以根據(jù)版本序號(hào)方便的獲得歷史上任何一個(gè)版本的代碼。
但是,現(xiàn)有的持續(xù)集成系統(tǒng)運(yùn)行時(shí),持續(xù)集成失敗的結(jié)果數(shù)據(jù)通常存放在同一個(gè)文件中,也就是構(gòu)建結(jié)果文件,這個(gè)文件通常包含了軟件代碼中所有失敗的代碼信息,從這個(gè)文件中只能了解到整個(gè)項(xiàng)目是構(gòu)建成功還是構(gòu)建失敗,而無(wú)法知道每個(gè)錯(cuò)誤信息歸屬于哪一個(gè)開(kāi)發(fā)者。
一種解決方法是由版本管理員手工進(jìn)入版本控制存儲(chǔ)庫(kù),查詢每個(gè)錯(cuò)誤文件對(duì)應(yīng)的開(kāi)發(fā)者,然后通知開(kāi)發(fā)者修改代碼。若構(gòu)建結(jié)果存在大量的錯(cuò)誤,則此種人工分析集成結(jié)果文件的方式需要耗費(fèi)大量的人力成本。
另一種常用的解決方法是郵件通知方式,通常是將構(gòu)建結(jié)果發(fā)給項(xiàng)目組所有開(kāi)發(fā)人員,郵件中攜帶著同樣的構(gòu)建結(jié)果文件,開(kāi)發(fā)人員需要人工閱讀構(gòu)建結(jié)果文件,從中找出屬于自己的代碼錯(cuò)誤,然后進(jìn)行代碼修改。此種方式需要耗費(fèi)每個(gè)開(kāi)發(fā)人員大量的時(shí)間閱讀和自己無(wú)關(guān)的代碼錯(cuò)誤信息,同時(shí)也很難判斷某個(gè)出錯(cuò)代碼文件是否屬于自己。比如,一個(gè)軟件構(gòu)建項(xiàng)目有3個(gè)開(kāi)發(fā)人員A、B、C,軟件集成后,屬于開(kāi)發(fā)人員A的文件1和屬于開(kāi)發(fā)人員B的文件2發(fā)生了錯(cuò)誤,現(xiàn)有持續(xù)集成工具會(huì)把這兩個(gè)錯(cuò)誤都發(fā)給項(xiàng)目中的3個(gè)人,A、B、C都需要閱讀這2個(gè)文件的錯(cuò)誤并人工分析出屬于自己的錯(cuò)誤,導(dǎo)致耗費(fèi)很多不必要的人力,且效率低。
【發(fā)明內(nèi)容】
本發(fā)明的主要目的就是解決現(xiàn)有技術(shù)中的問(wèn)題,提供一種軟件持續(xù)集成系統(tǒng)及方法,能使開(kāi)發(fā)人員只看到與自己相關(guān)的構(gòu)建錯(cuò)誤信息,大大提高軟件構(gòu)建效率。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種軟件持續(xù)集成系統(tǒng),包括:
構(gòu)建控制器,用于控制執(zhí)行腳本文件中定義的軟件構(gòu)建任務(wù);
日志分析器,用于解析構(gòu)建日志文件以提取構(gòu)建錯(cuò)誤信息;
版本控制庫(kù),用于存放軟件構(gòu)建的更新內(nèi)容;
版本控制庫(kù)接口,用于提供將所述版本控制庫(kù)中的構(gòu)建錯(cuò)誤信息的所有者信息送至所述構(gòu)建控制器的通道;
所述軟件構(gòu)建任務(wù)包括:從所述版本控制庫(kù)獲取代碼、編譯代碼、運(yùn)行測(cè)試、生成記錄編譯及測(cè)試結(jié)果的日志文件、通過(guò)所述日志分析器提取構(gòu)建錯(cuò)誤信息以及通過(guò)所述版本控制庫(kù)接口查詢構(gòu)建錯(cuò)誤信息的所有者信息。
還包括分類存儲(chǔ)模塊,用于按照所有者分類存儲(chǔ)構(gòu)建錯(cuò)誤信息。
還包括定向發(fā)送模塊,用于將構(gòu)建錯(cuò)誤信息發(fā)往其所有者的信息接收端。
所述定向發(fā)送模塊為電子郵件發(fā)送模塊或即時(shí)通訊模塊。
所述日志分析器包括分析單元和更新接口單元,所述分析單元用于從構(gòu)建日志文件中抽取出構(gòu)建錯(cuò)誤信息,所述更新接口單元用于對(duì)構(gòu)成分析單元的實(shí)現(xiàn)模塊進(jìn)行更新,所述實(shí)現(xiàn)模塊決定所述分析單元所能處理的日志文件的類型。
為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種軟件持續(xù)集成系統(tǒng),包括以下步驟:
A1、運(yùn)行系統(tǒng),加載腳本文件并提取其中定義好的構(gòu)建任務(wù);
B1、執(zhí)行編譯任務(wù),對(duì)版本控制庫(kù)中的更新內(nèi)容進(jìn)行編譯,并將編譯結(jié)果記錄在日志文件中;
C1、執(zhí)行測(cè)試任務(wù),對(duì)版本控制庫(kù)中的更新內(nèi)容進(jìn)行測(cè)試,并將測(cè)試結(jié)果記錄在日志文件中;
D1、執(zhí)行日志文件解析任務(wù),提取日志文件中的構(gòu)建錯(cuò)誤信息;
E1、執(zhí)行查詢?nèi)蝿?wù),從版本控制庫(kù)中查詢出構(gòu)建錯(cuò)誤信息的所有者信息。
所述步驟E1后還包括以下步驟:
F1、執(zhí)行存儲(chǔ)任務(wù),將構(gòu)建錯(cuò)誤信息按其所有者分類存儲(chǔ)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于卓望數(shù)碼技術(shù)(深圳)有限公司,未經(jīng)卓望數(shù)碼技術(shù)(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810065388.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法
- 企業(yè)應(yīng)用集成平臺(tái)構(gòu)建方法和體系結(jié)構(gòu)
- 竹集成材折疊椅
- 高精密集成化油路板
- 一種多指標(biāo)集成試劑并行檢測(cè)任意組合集成器
- 一種多指標(biāo)集成試劑并行檢測(cè)任意組合集成器
- 一種基于響應(yīng)的高并發(fā)輕量級(jí)數(shù)據(jù)集成架構(gòu)的實(shí)現(xiàn)方法及其系統(tǒng)
- 基于測(cè)試流程改進(jìn)的系統(tǒng)集成方法及裝置
- 一種數(shù)據(jù)映射集成的方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種便捷式電器置換集成灶
- 分體式集成灶用穿線裝置





