本發(fā)明屬于自動(dòng)化技術(shù)領(lǐng)域,具體涉及一種基于持續(xù)集成的源代碼管控系統(tǒng)。
背景技術(shù):
企業(yè)信息化是企業(yè)實(shí)現(xiàn)戰(zhàn)略目標(biāo)的重要支撐。近年來(lái),云南電網(wǎng)有限責(zé)任公司按照《中國(guó)南方電網(wǎng)有限責(zé)任公司“十二五”信息化規(guī)劃》和一體化建設(shè)要求,先后投入建設(shè)并推廣應(yīng)用了生產(chǎn)、營(yíng)銷(xiāo)、財(cái)務(wù)、人力資源、企業(yè)信息門(mén)戶(hù)等多個(gè)應(yīng)用系統(tǒng),有效提升了企業(yè)生產(chǎn)經(jīng)營(yíng)效率。云南電網(wǎng)有限責(zé)任公司信息中心作為云南電網(wǎng)公司信息化工作的執(zhí)行主體,已全面承擔(dān)了信息化建設(shè)、運(yùn)維、客服等工作。然而,在應(yīng)用系統(tǒng)的運(yùn)行維護(hù)過(guò)程中,對(duì)于應(yīng)用系統(tǒng)源代碼的管理尚缺乏有效管控機(jī)制,從而導(dǎo)致了系統(tǒng)版本變化缺乏有效審核,測(cè)試工作難以深入等一系列問(wèn)題,對(duì)應(yīng)用系統(tǒng)的安全穩(wěn)定運(yùn)行埋下了隱患。因此,亟待研究建立一套符合云南電網(wǎng)公司現(xiàn)狀的源代碼管控體系。
以持續(xù)集成為核心的源代碼管理與控制體系能最大程度地增強(qiáng)對(duì)應(yīng)用系統(tǒng)版本變更發(fā)布的控制力,強(qiáng)化其在代碼管理、文檔管理、審批管理等方面的源代碼全生命周期的管控能力。建立貫穿開(kāi)發(fā)、編譯、測(cè)試、部署的一體化管理體系及相應(yīng)的技術(shù)支撐手段,從而進(jìn)一步提升信息化運(yùn)維工作的管理水平,確保應(yīng)用系統(tǒng)安全穩(wěn)定運(yùn)行。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)目前軟件開(kāi)發(fā)項(xiàng)目源代碼管理的現(xiàn)狀,企業(yè)普遍缺乏源代碼管控的方式,一套完整的基于持續(xù)集成的源代碼管控平臺(tái)能為企業(yè)提供完美的解決方案,達(dá)到源代碼管理的體系化、流程化、規(guī)范化的目的,實(shí)現(xiàn)企業(yè)信息化資產(chǎn)利用最大化。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于持續(xù)集成的源代碼管控系統(tǒng),是通過(guò)如下技術(shù)方案來(lái)實(shí)現(xiàn)的。
一種基于持續(xù)集成的源代碼管控系統(tǒng),本發(fā)明特征在于,包括以下部分:
A、持續(xù)集成管理模塊,該模塊通過(guò)版本控制系統(tǒng)提供檢查、控制源代碼版本的機(jī)制、執(zhí)行源代碼集成構(gòu)建任務(wù)、實(shí)現(xiàn)源代碼備份,并實(shí)現(xiàn)主流開(kāi)發(fā)語(yǔ)言JAVA、.NET和PHP自動(dòng)構(gòu)建、自動(dòng)部署、測(cè)試及發(fā)布;
B、源代碼評(píng)審管理模塊,實(shí)現(xiàn)源代碼層級(jí)的抽查和評(píng)審;提供提交、注釋、編輯、批注的代碼審查功能;
C、流程管理模塊,建立基于持續(xù)集成的源代碼管控流程,實(shí)現(xiàn)源代碼管控流程化;
D、文檔管理模塊,完成在線(xiàn)信息共享、文檔協(xié)作,實(shí)現(xiàn)對(duì)微軟Office多種文件類(lèi)型的對(duì)比;
E、統(tǒng)一用戶(hù)管理模塊,通過(guò)配置實(shí)現(xiàn)多系統(tǒng)間用戶(hù)共享及統(tǒng)一管理;以及
F、反饋機(jī)制模塊,該模塊對(duì)持續(xù)集成及代碼評(píng)審結(jié)果進(jìn)行管理、做出判斷和處理。
本發(fā)明中,持續(xù)集成管理模塊的版本控制系統(tǒng)為GIT或SVN或CVS,支持實(shí)現(xiàn)主流開(kāi)發(fā)語(yǔ)言(JAVA、.NET、PHP)自動(dòng)構(gòu)建、自動(dòng)部署、測(cè)試及發(fā)布。。
實(shí)現(xiàn)主流開(kāi)發(fā)語(yǔ)言即源代碼的自動(dòng)構(gòu)建、自動(dòng)部署、測(cè)試及發(fā)布的依賴(lài)工具及手段如下:
JAVA:ANT、MAVEN實(shí)現(xiàn)自動(dòng)構(gòu)建,SELENIUM、NUNIT實(shí)現(xiàn)自動(dòng)測(cè)試,BAMBOO實(shí)現(xiàn)自動(dòng)部署及發(fā)布;
.NET:MSBUILD實(shí)現(xiàn)自動(dòng)構(gòu)建,SELENIUM、NUNIT實(shí)現(xiàn)自動(dòng)測(cè)試,XCOPY、BAMBOO實(shí)現(xiàn)自動(dòng)部署及發(fā)布;
PHP:SELENIUM、NUNIT實(shí)現(xiàn)自動(dòng)測(cè)試,XCOPY、BAMBOO實(shí)現(xiàn)自動(dòng)部署及發(fā)布。
本發(fā)明的統(tǒng)一用戶(hù)管理模塊采用單點(diǎn)登錄,使平臺(tái)內(nèi)各個(gè)模塊既保留其獨(dú)立的特性,又能完整的合成一個(gè)整體。各個(gè)模塊是基于持續(xù)集成的源代碼管控系統(tǒng)實(shí)現(xiàn)整體功能不可缺少的組成部分。
本發(fā)明中,反饋機(jī)制模塊的處理方式有:通知人工介入、發(fā)送失敗日志、記錄失敗原因和按照預(yù)設(shè)規(guī)則重置。
本發(fā)明是以持續(xù)集成為核心和驅(qū)動(dòng),以源代碼評(píng)審為重要實(shí)現(xiàn)手段,以流程、文檔、用戶(hù)管理為輔助功能的軟件開(kāi)發(fā)項(xiàng)目源代碼管控方式。其實(shí)現(xiàn)的核心價(jià)值在于使得軟件開(kāi)發(fā)項(xiàng)目源代碼體系化、流程化、規(guī)范化。
本發(fā)明以WEB瀏覽器方式提供一種基于持續(xù)集成的源代碼管控系統(tǒng),該系統(tǒng)服務(wù)端口可配置,以CONFIG文件的方式進(jìn)行編輯和存儲(chǔ)。系統(tǒng)內(nèi)各個(gè)系統(tǒng)模塊相互進(jìn)行無(wú)縫訪(fǎng)問(wèn)、用戶(hù)統(tǒng)一管理實(shí)現(xiàn)單點(diǎn)登錄。
本發(fā)明的有益效果:
建立基于持續(xù)集成的源代碼管控系統(tǒng),有益于:
A、盡早發(fā)現(xiàn)軟件缺陷、盡早評(píng)估軟件質(zhì)量,以減少項(xiàng)目的風(fēng)險(xiǎn);通過(guò)自動(dòng)化構(gòu)建、部署、測(cè)試及發(fā)布避免人工參與產(chǎn)生的錯(cuò)誤、降低勞動(dòng)成本、提升工作效率。有效建立貫穿開(kāi)發(fā)、編譯、測(cè)試、部署的一體化管理體系及相應(yīng)的技術(shù)支撐手段,進(jìn)一步提升信息化運(yùn)維工作的管理水平,確保應(yīng)用系統(tǒng)安全穩(wěn)定運(yùn)行。
B、增強(qiáng)企業(yè)對(duì)應(yīng)用系統(tǒng)版本變更發(fā)布的控制力,強(qiáng)化其在代碼管理、文檔管理、審批管理等方面的源代碼全生命周期的管控能力。提升源代碼質(zhì)量,完善軟件開(kāi)發(fā)流程。
附圖說(shuō)明
圖1為本發(fā)明流程圖;
圖2為發(fā)明結(jié)構(gòu)示意圖。
具體實(shí)施方式
見(jiàn)圖1、圖2,一種基于持續(xù)集成的源代碼管控系統(tǒng),本發(fā)明特征在于,包括以下部分:
A、持續(xù)集成管理模塊,該模塊通過(guò)版本控制系統(tǒng)提供檢查、控制源代碼版本的機(jī)制、執(zhí)行源代碼集成構(gòu)建任務(wù)、實(shí)現(xiàn)源代碼備份,并實(shí)現(xiàn)主流開(kāi)發(fā)語(yǔ)言JAVA、.NET和PHP自動(dòng)構(gòu)建、自動(dòng)部署、測(cè)試及發(fā)布;
B、源代碼評(píng)審管理模塊,實(shí)現(xiàn)源代碼層級(jí)的抽查和評(píng)審;提供提交、注釋、編輯、批注的代碼審查功能;
C、流程管理模塊,建立基于持續(xù)集成的源代碼管控流程,實(shí)現(xiàn)源代碼管控流程化;
D、文檔管理模塊,完成在線(xiàn)信息共享、文檔協(xié)作,實(shí)現(xiàn)對(duì)微軟Office多種文件類(lèi)型的對(duì)比;
E、統(tǒng)一用戶(hù)管理模塊,通過(guò)配置實(shí)現(xiàn)多系統(tǒng)間用戶(hù)共享及統(tǒng)一管理;以及
F、反饋機(jī)制模塊,該模塊對(duì)持續(xù)集成及代碼評(píng)審結(jié)果進(jìn)行管理、做出判斷和處理。
本發(fā)明中,持續(xù)集成管理模塊的版本控制系統(tǒng)為GIT或SVN或CVS,支持實(shí)現(xiàn)主流開(kāi)發(fā)語(yǔ)言(JAVA、.NET、PHP)自動(dòng)構(gòu)建、自動(dòng)部署、測(cè)試及發(fā)布。。
實(shí)現(xiàn)主流開(kāi)發(fā)語(yǔ)言即源代碼的自動(dòng)構(gòu)建、自動(dòng)部署、測(cè)試及發(fā)布的依賴(lài)工具及手段如下:
JAVA:ANT、MAVEN實(shí)現(xiàn)自動(dòng)構(gòu)建,SELENIUM、NUNIT實(shí)現(xiàn)自動(dòng)測(cè)試,BAMBOO實(shí)現(xiàn)自動(dòng)部署及發(fā)布;
.NET:MSBUILD實(shí)現(xiàn)自動(dòng)構(gòu)建,SELENIUM、NUNIT實(shí)現(xiàn)自動(dòng)測(cè)試,XCOPY、BAMBOO實(shí)現(xiàn)自動(dòng)部署及發(fā)布;
PHP:SELENIUM、NUNIT實(shí)現(xiàn)自動(dòng)測(cè)試,XCOPY、BAMBOO實(shí)現(xiàn)自動(dòng)部署及發(fā)布。
本發(fā)明的統(tǒng)一用戶(hù)管理模塊采用單點(diǎn)登錄,使平臺(tái)內(nèi)各個(gè)模塊既保留其獨(dú)立的特性,又能完整的合成一個(gè)整體。
開(kāi)發(fā)人員提交項(xiàng)目源代碼,服務(wù)器監(jiān)聽(tīng)程序檢測(cè)到代碼庫(kù)變動(dòng)后立刻獲取最新源代碼,獲取成功后,進(jìn)行自動(dòng)構(gòu)建并將成功結(jié)果自動(dòng)流轉(zhuǎn)到自動(dòng)部署,部署成功后氣動(dòng)自動(dòng)化測(cè)試,如果以上步驟都成功則會(huì)發(fā)布最新的源代碼至指定服務(wù)器。整個(gè)過(guò)程完全自動(dòng)化,如果某一步驟失敗,則會(huì)自動(dòng)提交至反饋機(jī)制處理程序,給出處理反應(yīng),反應(yīng)包括通知人工介入、發(fā)送失敗日志、記錄失敗原因、按照預(yù)設(shè)規(guī)則重置等。開(kāi)發(fā)人員提交源代碼后,人工或者由服務(wù)器自動(dòng)生成源代碼評(píng)審需求,提交更改的源代碼至源代碼評(píng)審系統(tǒng),由人工完成代碼評(píng)審后提交反饋機(jī)制處理。