本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,尤其涉及一種軟件包自動(dòng)化安裝與配置方法及裝置。
背景技術(shù):
隨著各個(gè)行業(yè)的it業(yè)務(wù)系統(tǒng)的迅速發(fā)展,網(wǎng)絡(luò)規(guī)模迅速擴(kuò)大,主機(jī)、網(wǎng)絡(luò)、設(shè)備、應(yīng)用程序數(shù)量不斷增多,尤其是云計(jì)算的發(fā)展,開放paas云平臺(tái)的出現(xiàn),使得各種應(yīng)用程序不再是由人工部署在單個(gè)虛機(jī)上,而是部署在云環(huán)境中,只需要簡單配置,部署過程由云環(huán)境自動(dòng)完成。由于很多應(yīng)用程序,需要依賴第三方軟件包,有時(shí)還需要一些特殊配置,傳統(tǒng)的人工安裝配置的方式已經(jīng)不適合云環(huán)境下的應(yīng)用程序。
鑒于以上問題,本發(fā)明提出了軟件包的自動(dòng)化安裝配置方法,用于解決云環(huán)境下的應(yīng)用依賴以及配置問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種軟件包自動(dòng)化安裝與配置方法及裝置,以解決上述問題。
本發(fā)明提供一種軟件包自動(dòng)化安裝與配置方法。上述方法包括以下步驟:
接收根據(jù)軟件包配置模板配置的軟件包;
解析所述軟件包,生成軟件包安裝腳本;
執(zhí)行所述軟件包安裝腳本,完成所述軟件包的自動(dòng)化安裝與配置。
本發(fā)明還提供一種數(shù)據(jù)處理裝置,包括:配置模塊、解析模塊、執(zhí)行模塊,其中,所述配置模塊與所述解析模塊連接,所述解析模塊與所述執(zhí)行模塊連接;
配置模塊,用于接收根據(jù)軟件包配置模板配置的軟件包;
解析模塊,用于解析所述軟件包,生成軟件包安裝腳本;
執(zhí)行模塊,用于執(zhí)行所述軟件包安裝腳本,完成所述軟件包的自動(dòng)化安裝與配置。
通過以下方案:根據(jù)軟件包配置模板配置軟件包,解析軟件包,生成軟件包安裝腳本;執(zhí)行軟件包安裝腳本,完成軟件包的自動(dòng)化安裝與配置。解決了運(yùn)行在云應(yīng)用環(huán)境下的程序依賴第三方軟件包的問題,不用在通過客戶端登錄到環(huán)境內(nèi)部進(jìn)行手動(dòng)安裝,僅需要簡單的配置,安裝過程即可完全交給云應(yīng)用環(huán)境,因此配置簡單,安裝方便。
通過以下方案:提供一個(gè)yaml格式的軟件包配置模板,用戶可以根據(jù)自己的需求修改這個(gè)模板,應(yīng)用場(chǎng)景廣泛,用法簡單靈活,易于擴(kuò)展。
附圖說明
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1所示為本發(fā)明實(shí)施例1的軟件包自動(dòng)化安裝與配置方法處理流程圖;
圖2所示為本發(fā)明實(shí)施例2的軟件包配置模板示意圖;
圖3所示為本發(fā)明實(shí)施例3的軟件包自動(dòng)化安裝與配置裝置結(jié)構(gòu)圖。
具體實(shí)施方式
下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
圖1所示為本發(fā)明實(shí)施例1的軟件包自動(dòng)化安裝與配置方法處理流程圖,包括以下步驟:
步驟102:接收根據(jù)軟件包配置模板配置的軟件包。
步驟104:解析所述軟件包,生成軟件包安裝腳本。
步驟106:執(zhí)行所述軟件包安裝腳本,完成所述軟件包的自動(dòng)化安裝與配置。用戶根據(jù)提供的軟件包配置模板(conf.yaml),可配置自己需要安裝的軟件包,靈活方便。
進(jìn)一步地,所述軟件包配置模板包括多個(gè)節(jié)點(diǎn);
所述多個(gè)節(jié)點(diǎn)包括處于第一節(jié)點(diǎn)的包節(jié)點(diǎn)、處于第二節(jié)點(diǎn)的安裝類型節(jié)點(diǎn)、處于第三節(jié)點(diǎn)的軟件包配置節(jié)點(diǎn)。
參考圖2,軟件包配置模板總共有三層節(jié)點(diǎn),頂層節(jié)點(diǎn)是包節(jié)點(diǎn)(package);package下面是軟件包的安裝類型節(jié)點(diǎn),以及一個(gè)命令節(jié)點(diǎn)(command),第二層節(jié)點(diǎn)會(huì)按照從上到下的順序執(zhí)行,該層節(jié)點(diǎn)可以根據(jù)自己的需求刪減;第三層節(jié)點(diǎn)是軟件包配置節(jié)點(diǎn)。支持yum、rpm、python安裝,支持php擴(kuò)展模塊安裝,支持自定義腳本。
其中,所述軟件包配置模板的格式是yaml格式,必須嚴(yán)格遵守yaml格式文件的書寫規(guī)范,否則會(huì)解析錯(cuò)誤。
其中,通過云應(yīng)用環(huán)境中的python腳本解析所述軟件包。
進(jìn)一步地,在解析所述軟件包時(shí),對(duì)應(yīng)所述軟件包中每個(gè)節(jié)點(diǎn)生成一個(gè)shell命令,并將各shell命令逐個(gè)寫入所述軟件包安裝腳本中。
通過云應(yīng)用環(huán)境中的python腳本(conf.py)解析配置好的軟件包c(diǎn)onf.yaml。conf.py通過yamlordereddictloader庫解析軟件包,保證conf.yaml按照節(jié)點(diǎn)的先后順序執(zhí)行,并且逐個(gè)節(jié)點(diǎn)生成shell命令,以追加方式寫入softinatall.sh文件(軟件包安裝腳本)中。最后執(zhí)行softinatall.sh腳本,完成軟件包的安裝與配置。執(zhí)行日志寫入softinstall.log文件中,以推送給用戶查看。
因此,本發(fā)明提供的軟件包自動(dòng)化安裝與配置方法包含一個(gè)shell腳本,一個(gè)python腳本和一個(gè)yaml格式的軟件包配置文件,shell腳本和python腳本運(yùn)行在服務(wù)器中。shell腳本負(fù)責(zé)軟件包的自動(dòng)化安裝與配置,python腳本負(fù)責(zé)解析yaml文件,生成命令;提供一個(gè)yaml格式的軟件包配置模板,用戶可以根據(jù)自己的需求修改這個(gè)模板。
用戶僅需要根據(jù)自己的需求配置一下軟件包,并自動(dòng)生成軟件包安裝腳本,完成軟件包的自動(dòng)化安裝與配置,方便靈活,大大節(jié)省了運(yùn)維成本以及開發(fā)成本。
圖3所示為本發(fā)明實(shí)施例3的軟件包自動(dòng)化安裝與配置裝置結(jié)構(gòu)圖。
如圖3所示,根據(jù)本發(fā)明的實(shí)施例的一種軟件包自動(dòng)化安裝與配置裝置,包括:配置模塊302、解析模塊304、執(zhí)行模塊306,其中,所述配置模塊302與所述解析模塊連接304,所述解析模塊304與所述執(zhí)行模塊306連接;
配置模塊302,用于接收根據(jù)軟件包配置模板配置的軟件包;
解析模塊304,用于解析所述軟件包,生成軟件包安裝腳本;
執(zhí)行模塊306,用于執(zhí)行所述軟件包安裝腳本,完成所述軟件包的自動(dòng)化安裝與配置。用戶根據(jù)提供的軟件包配置模板(conf.yaml),可配置自己需要安裝的軟件包,靈活方便。
進(jìn)一步地,所述軟件包配置模板包括多個(gè)節(jié)點(diǎn);
所述多個(gè)節(jié)點(diǎn)包括處于第一節(jié)點(diǎn)的包節(jié)點(diǎn)、處于第二節(jié)點(diǎn)的安裝類型節(jié)點(diǎn)、處于第三節(jié)點(diǎn)的軟件包配置節(jié)點(diǎn)。
軟件包配置模板總共有三層節(jié)點(diǎn),頂層節(jié)點(diǎn)是包節(jié)點(diǎn)(package);package下面是軟件包的安裝類型節(jié)點(diǎn),以及一個(gè)命令節(jié)點(diǎn)(command),第二層節(jié)點(diǎn)會(huì)按照從上到下的順序執(zhí)行,該層節(jié)點(diǎn)可以根據(jù)自己的需求刪減;第三層節(jié)點(diǎn)是軟件包配置節(jié)點(diǎn)。支持yum、rpm、python安裝,支持php擴(kuò)展模塊安裝,支持自定義腳本。
其中,所述軟件包配置模板的格式是yaml格式。
其中,通過云應(yīng)用環(huán)境中的python腳本解析所述軟件包。
進(jìn)一步地,所述解析模塊在解析所述軟件包時(shí),對(duì)應(yīng)所述軟件包中每個(gè)節(jié)點(diǎn)生成一個(gè)shell命令,并將各shell命令逐個(gè)寫入所述軟件包安裝腳本中。
通過云應(yīng)用環(huán)境中的python腳本(conf.py)解析配置好的軟件包c(diǎn)onf.yaml。conf.py通過yamlordereddictloader庫解析軟件包,保證conf.yaml按照節(jié)點(diǎn)的先后順序執(zhí)行,并且逐個(gè)節(jié)點(diǎn)生成shell命令,以追加方式寫入softinatall.sh文件(軟件包安裝腳本)中。最后執(zhí)行softinatall.sh腳本,完成軟件包的安裝與配置。執(zhí)行日志寫入softinstall.log文件中,以推送給用戶查看。
通過以下方案:根據(jù)軟件包配置模板配置軟件包,解析軟件包,生成軟件包安裝腳本;執(zhí)行軟件包安裝腳本,完成軟件包的自動(dòng)化安裝與配置。解決了運(yùn)行在云應(yīng)用環(huán)境下的程序依賴第三方軟件包的問題,不用在通過客戶端登錄到環(huán)境內(nèi)部進(jìn)行手動(dòng)安裝,僅需要簡單的配置,安裝過程即可完全交給云應(yīng)用環(huán)境,因此配置簡單,安裝方便。
通過以下方案:提供一個(gè)yaml格式的軟件包配置模板,用戶可以根據(jù)自己的需求修改這個(gè)模板,應(yīng)用場(chǎng)景廣泛,用法簡單靈活,易于擴(kuò)展。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。