本發(fā)明涉及云平臺(tái)技術(shù)領(lǐng)域,特別涉及一種云平臺(tái)代碼持續(xù)集成方法及系統(tǒng)。
背景技術(shù):
當(dāng)前,隨著信息技術(shù)的發(fā)展,云計(jì)算逐步成為了業(yè)界的發(fā)展熱點(diǎn),應(yīng)用范圍也得到不斷地?cái)U(kuò)大,云平臺(tái)的使用量和用戶活躍度也與日俱增。與此同時(shí),云平臺(tái)系統(tǒng)中代碼量越來越多,呈指數(shù)性增長,在這種情況下,以往利用人工方式來對云平臺(tái)系統(tǒng)代碼進(jìn)行集成的做法,已經(jīng)難以滿足日益多樣化高標(biāo)準(zhǔn)的需求,不僅集成效率低,并且需要消耗大量的人工運(yùn)維成本。
綜上所述可以看出,如何提升云平臺(tái)代碼集成過程中的集成效率并降低人工成本是目前亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種云平臺(tái)代碼持續(xù)集成方法及系統(tǒng),提升了云平臺(tái)代碼集成過程中的集成效率并降低了人工成本。其具體方案如下:
一種云平臺(tái)代碼持續(xù)集成方法,包括:
在Kubernetes的Pod中部署Jenkins環(huán)境;
將Git工具安裝至所述Jenkins環(huán)境,以在所述Jenkins環(huán)境中利用所述Git工具中的代碼下載腳本來持續(xù)獲取云平臺(tái)系統(tǒng)代碼,并將獲取到的云平臺(tái)系統(tǒng)代碼保存至Pod的容器中;
利用Kubernetes的ReplicationController,并結(jié)合當(dāng)前Pod已獲取到的代碼量,對Pod進(jìn)行動(dòng)態(tài)維護(hù)管理。
可選的,所述對Pod進(jìn)行動(dòng)態(tài)維護(hù)管理,包括:
對Pod進(jìn)行動(dòng)態(tài)擴(kuò)容處理或動(dòng)態(tài)縮容處理。
可選的,所述云平臺(tái)代碼持續(xù)集成方法,還包括:
利用Kubernetes的ReplicationController,對Pod的健康程度進(jìn)行檢查,并根據(jù)Pod的健康程度對Pod展開相應(yīng)的維護(hù)管理。
可選的,所述云平臺(tái)代碼持續(xù)集成方法,還包括:
利用代碼檢測工具,對Pod中保存的云平臺(tái)系統(tǒng)代碼進(jìn)行質(zhì)量檢測;
當(dāng)檢測出Pod中保存的云平臺(tái)系統(tǒng)代碼存在質(zhì)量問題,則產(chǎn)生相應(yīng)的提示信息。
本發(fā)明還公開了一種云平臺(tái)代碼持續(xù)集成系統(tǒng),包括:
環(huán)境部署模塊,用于在Kubernetes的Pod中部署Jenkins環(huán)境;
工具安裝模塊,用于將Git工具安裝至所述Jenkins環(huán)境,以在所述Jenkins環(huán)境中利用所述Git工具中的代碼下載腳本來持續(xù)獲取云平臺(tái)系統(tǒng)代碼,并將獲取到的云平臺(tái)系統(tǒng)代碼保存至Pod的容器中;
動(dòng)態(tài)維護(hù)模塊,用于利用Kubernetes的ReplicationController,并結(jié)合當(dāng)前Pod已獲取到的代碼量,對Pod進(jìn)行動(dòng)態(tài)維護(hù)管理。
可選的,所述動(dòng)態(tài)維護(hù)模塊,具體用于利用Kubernetes的ReplicationController,并結(jié)合當(dāng)前Pod已獲取到的代碼量,對Pod進(jìn)行動(dòng)態(tài)擴(kuò)容處理或動(dòng)態(tài)縮容處理。
可選的,所述云平臺(tái)代碼持續(xù)集成系統(tǒng),還包括:
健康維護(hù)模塊,用于利用Kubernetes的ReplicationController,對Pod的健康程度進(jìn)行檢查,并根據(jù)Pod的健康程度對Pod展開相應(yīng)的維護(hù)管理。
可選的,所述云平臺(tái)代碼持續(xù)集成系統(tǒng),還包括:
質(zhì)量檢測模塊,用于利用代碼檢測工具,對Pod中保存的云平臺(tái)系統(tǒng)代碼進(jìn)行質(zhì)量檢測;
信息生成模塊,用于當(dāng)所述質(zhì)量檢測模塊檢測出Pod中保存的云平臺(tái)系統(tǒng)代碼存在質(zhì)量問題,則產(chǎn)生相應(yīng)的提示信息。
本發(fā)明中,云平臺(tái)代碼持續(xù)集成方法,包括:在Kubernetes的Pod中部署Jenkins環(huán)境;將Git工具安裝至Jenkins環(huán)境,以在Jenkins環(huán)境中利用Git工具中的代碼下載腳本來持續(xù)獲取云平臺(tái)系統(tǒng)代碼,并將獲取到的云平臺(tái)系統(tǒng)代碼保存至Pod的容器中;利用Kubernetes的ReplicationController,并結(jié)合當(dāng)前Pod已獲取到的代碼量,對Pod進(jìn)行動(dòng)態(tài)維護(hù)管理。
可見,本發(fā)明通過將Kubernetes、Jenkins以及Git進(jìn)行結(jié)合,使得能夠?qū)υ破脚_(tái)系統(tǒng)代碼進(jìn)行高效的持續(xù)集成,由此大幅提升了云平臺(tái)代碼集成過程中的集成效率并降低了人工成本。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種云平臺(tái)代碼持續(xù)集成方法流程圖;
圖2為本發(fā)明實(shí)施例公開的一種云平臺(tái)代碼持續(xù)集成系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種云平臺(tái)代碼持續(xù)集成方法,參見圖1所示,該方法包括:
步驟S11:在Kubernetes的Pod中部署Jenkins環(huán)境。
本實(shí)施例中,Kubernetes是一種開源的容器集群管理系統(tǒng),主要包括Service、ReplicationController和Pod等組件。Jenkins是一個(gè)開源軟件項(xiàng)目,能夠用于提供一個(gè)開放易用的軟件平臺(tái)。
步驟S12:將Git工具安裝至Jenkins環(huán)境,以在Jenkins環(huán)境中利用Git工具中的代碼下載腳本來持續(xù)獲取云平臺(tái)系統(tǒng)代碼,并將獲取到的云平臺(tái)系統(tǒng)代碼保存至Pod的容器中。
本實(shí)施例中,Git是一種分布式版本控制系統(tǒng)。另外,本實(shí)施例中代碼的持續(xù)集成周期可以在上述Jenkins環(huán)境中進(jìn)行設(shè)定,設(shè)定完畢后,本實(shí)施例將會(huì)根據(jù)設(shè)定好的代碼持續(xù)集成周期自動(dòng)進(jìn)行代碼持續(xù)集成。
步驟S13:利用Kubernetes的ReplicationController,并結(jié)合當(dāng)前Pod已獲取到的代碼量,對Pod進(jìn)行動(dòng)態(tài)維護(hù)管理。
具體的,上述對Pod進(jìn)行動(dòng)態(tài)維護(hù)管理的過程,可以包括:對Pod進(jìn)行動(dòng)態(tài)擴(kuò)容處理或動(dòng)態(tài)縮容處理。也即,根據(jù)當(dāng)前Pod已獲取到的代碼量的變化情況,可以相應(yīng)地對Pod進(jìn)行動(dòng)態(tài)擴(kuò)容處理或動(dòng)態(tài)縮容處理。
進(jìn)一步的,本實(shí)施例中的云平臺(tái)代碼持續(xù)集成方法,還可以包括:
利用Kubernetes的ReplicationController,對Pod的健康程度進(jìn)行檢查,并根據(jù)Pod的健康程度對Pod展開相應(yīng)的維護(hù)管理。例如,當(dāng)發(fā)現(xiàn)某個(gè)Pod的健康程度較差,則可以創(chuàng)建一個(gè)新的Pod來替換這個(gè)健康程度較差的Pod。
進(jìn)一步的,本實(shí)施例中的云平臺(tái)代碼持續(xù)集成方法,還可以包括:
利用代碼檢測工具,對Pod中保存的云平臺(tái)系統(tǒng)代碼進(jìn)行質(zhì)量檢測,當(dāng)檢測出Pod中保存的云平臺(tái)系統(tǒng)代碼存在質(zhì)量問題,則產(chǎn)生相應(yīng)的提示信息。
可以理解的是,本實(shí)施例具體可以將上述提示信息發(fā)送至相應(yīng)的代碼開發(fā)人員的終端上。
可見,本發(fā)明實(shí)施例通過將Kubernetes、Jenkins以及Git進(jìn)行結(jié)合,使得能夠?qū)υ破脚_(tái)系統(tǒng)代碼進(jìn)行高效的持續(xù)集成,由此大幅提升了云平臺(tái)代碼集成過程中的集成效率并降低了人工成本。
相應(yīng)的,本發(fā)明實(shí)施例還公開了一種云平臺(tái)代碼持續(xù)集成系統(tǒng),參見圖2所示,該系統(tǒng)包括:
環(huán)境部署模塊11,用于在Kubernetes的Pod中部署Jenkins環(huán)境;
工具安裝模塊12,用于將Git工具安裝至Jenkins環(huán)境,以在Jenkins環(huán)境中利用Git工具中的代碼下載腳本來持續(xù)獲取云平臺(tái)系統(tǒng)代碼,并將獲取到的云平臺(tái)系統(tǒng)代碼保存至Pod的容器中;
動(dòng)態(tài)維護(hù)模塊13,用于利用Kubernetes的ReplicationController,并結(jié)合當(dāng)前Pod已獲取到的代碼量,對Pod進(jìn)行動(dòng)態(tài)維護(hù)管理。
其中,上述動(dòng)態(tài)維護(hù)模塊13,具體可以用于利用Kubernetes的ReplicationController,并結(jié)合當(dāng)前Pod已獲取到的代碼量,對Pod進(jìn)行動(dòng)態(tài)擴(kuò)容處理或動(dòng)態(tài)縮容處理。
進(jìn)一步的,本實(shí)施例中的云平臺(tái)代碼持續(xù)集成系統(tǒng),還可以包括:
健康維護(hù)模塊,用于利用Kubernetes的ReplicationController,對Pod的健康程度進(jìn)行檢查,并根據(jù)Pod的健康程度對Pod展開相應(yīng)的維護(hù)管理。
進(jìn)一步的,本實(shí)施例中的云平臺(tái)代碼持續(xù)集成系統(tǒng),還可以包括質(zhì)量檢測模塊和信息生成模塊;其中,
質(zhì)量檢測模塊,用于利用代碼檢測工具,對Pod中保存的云平臺(tái)系統(tǒng)代碼進(jìn)行質(zhì)量檢測;
信息生成模塊,用于當(dāng)質(zhì)量檢測模塊檢測出Pod中保存的云平臺(tái)系統(tǒng)代碼存在質(zhì)量問題,則產(chǎn)生相應(yīng)的提示信息。
可見,本發(fā)明實(shí)施例通過將Kubernetes、Jenkins以及Git進(jìn)行結(jié)合,使得能夠?qū)υ破脚_(tái)系統(tǒng)代碼進(jìn)行高效的持續(xù)集成,由此大幅提升了云平臺(tái)代碼集成過程中的集成效率并降低了人工成本。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種云平臺(tái)代碼持續(xù)集成方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。