一種應(yīng)用程序自動(dòng)上線方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用上線技術(shù)領(lǐng)域,具體涉及一種應(yīng)用程序自動(dòng)上線方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前的應(yīng)用程序上線主要是采用人工上線方式,對應(yīng)用程序人工上線存在以下問題:
[0003](I)直接登錄生產(chǎn)主機(jī)進(jìn)行操作,有可能造成誤操作,導(dǎo)致系統(tǒng)崩潰;
[0004](2)程序多:各應(yīng)用需部署執(zhí)行的腳本較多,重新停啟的進(jìn)程較多;
[0005](3)經(jīng)常熬夜通宵:每次上線,所有開發(fā)人員、測試人員、用戶都要通宵熬夜,極其損耗體力和精力,長期以往,有害身體健康;
[0006](4)錯(cuò)誤反復(fù)多:因人工操作主機(jī)多,總會(huì)出現(xiàn)錯(cuò)誤,反反復(fù)復(fù);
[0007](5)文件溯源性差:對于原來的文件備份命名上沒有規(guī)律性,根本分不清是誰做的需求,沒法在第一時(shí)間找到責(zé)任人進(jìn)行修復(fù)和調(diào)整;
[0008](6)上線后恢復(fù)慢:如果遇到上線出錯(cuò)情況,需要逐臺登錄主機(jī)手工恢復(fù)原狀態(tài),非常耗時(shí);
[0009](7)測試時(shí)間長:上線以后需要對每臺機(jī)子每個(gè)端口進(jìn)行測試,非常耗費(fèi)時(shí)間。
【發(fā)明內(nèi)容】
[0010]本發(fā)明所要解決的技術(shù)問題是提供一種應(yīng)用程序自動(dòng)上線方法及系統(tǒng),解決目前人工上線存在效率低、頻出錯(cuò)的局面。
[0011]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
[0012]—方面,本發(fā)明提供了一種應(yīng)用程序自動(dòng)上線方法,所述方法包括:
[0013]S1、在運(yùn)維平臺上創(chuàng)建需要上線的至少一個(gè)應(yīng)用程序,并從預(yù)先配置的操作指令集合中為每一個(gè)所述應(yīng)用程序選擇對應(yīng)的操作指令;S2、為創(chuàng)建的每一個(gè)所述應(yīng)用程序分配測試主機(jī),并在分配的所述測試主機(jī)上執(zhí)行該應(yīng)用程序的測試;
[0014]S3、將測試通過的應(yīng)用程序進(jìn)行發(fā)布更新。
[0015]另一方面,本發(fā)明提供了一種應(yīng)用程序自動(dòng)上線系統(tǒng),所述系統(tǒng)包括運(yùn)維平臺和多個(gè)測試主機(jī);
[0016]所述運(yùn)維平臺包括:
[0017]應(yīng)用程序創(chuàng)建模塊,用于新建需要上線的至少一個(gè)應(yīng)用程序;
[0018]操作指令選擇模塊,用于從預(yù)先配置的操作指令集合中為每一個(gè)所述應(yīng)用程序選擇對應(yīng)的操作指令以創(chuàng)建所述至少一個(gè)應(yīng)用程序;
[0019]測試主機(jī)分配模塊,用于為創(chuàng)建的每一個(gè)所述應(yīng)用程序分配測試主機(jī);
[0020]應(yīng)用程序發(fā)布模塊,用于將測試通過的應(yīng)用程序進(jìn)行發(fā)布更新;
[0021]所述測試主機(jī)包括:
[0022]測試執(zhí)行模塊,用于對分配的應(yīng)用程序執(zhí)行測試。
[0023]本發(fā)明提供的一種應(yīng)用程序自動(dòng)上線方法及系統(tǒng),創(chuàng)建需要上線的應(yīng)用程序,并為創(chuàng)建的每一個(gè)應(yīng)用程序配置對應(yīng)的操作指令,然后為每一個(gè)應(yīng)用程序配置對應(yīng)的測試主機(jī),以使應(yīng)用程序在對應(yīng)的測試主機(jī)上執(zhí)行測試,對于測試通過的應(yīng)用程序,則對其進(jìn)行發(fā)布。本發(fā)明能夠?qū)崿F(xiàn)各個(gè)應(yīng)用程序的自動(dòng)測試上線,加快和提高了應(yīng)用程序上線的速度和質(zhì)量,扭轉(zhuǎn)了現(xiàn)有長期以來人工上線存在的效率低、頻出錯(cuò)的局面。
【附圖說明】
[0024]圖1為本發(fā)明實(shí)施例以的一種應(yīng)用程序自動(dòng)上線方法流程圖;
[0025]圖2為本發(fā)明實(shí)施例一中配置各操作指令流程圖;
[0026]圖3為本發(fā)明實(shí)施例一中創(chuàng)建需求上線的應(yīng)用程序流程圖;
[0027]圖4為本發(fā)明實(shí)施例一中對創(chuàng)建的應(yīng)用程序進(jìn)行編輯修改示意圖;
[0028]圖5為本發(fā)明實(shí)施例一中各應(yīng)用程序在對應(yīng)的測試主機(jī)上執(zhí)行測試流程圖;
[0029]圖6為本發(fā)明實(shí)施例一中對測試通過的應(yīng)用程序進(jìn)行發(fā)布流程圖;
[0030]圖7為本發(fā)明實(shí)施例一中對已發(fā)布的應(yīng)用程序配置其操作權(quán)限流程圖;
[0031]圖8為本發(fā)明實(shí)施例二的一種應(yīng)用程序自動(dòng)上線系統(tǒng)示意圖。
【具體實(shí)施方式】
[0032]以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0033]實(shí)施例一、一種應(yīng)用程序自動(dòng)上線方法。下面結(jié)合圖1-圖7對本實(shí)施例提供的方法進(jìn)行詳細(xì)說明。
[0034]圖1中,S1、在運(yùn)維平臺上創(chuàng)建需要上線的至少一個(gè)應(yīng)用程序,并從預(yù)先配置的操作指令集合中為每一個(gè)所述應(yīng)用程序選擇對應(yīng)的操作指令。
[0035]具體的,若需要對眾多個(gè)應(yīng)用程序上線時(shí),由于每一個(gè)應(yīng)用程序均包含若干個(gè)操作指令,參見圖2,首先在運(yùn)維平臺(也可以稱為自動(dòng)化上線系統(tǒng))上配置需要最終執(zhí)行的各類操作指令。比如,可以配置如下類型的操作指令:停進(jìn)程、程序代碼上傳、配置文件更新、啟動(dòng)服務(wù)、業(yè)務(wù)監(jiān)測、系統(tǒng)回退以及系統(tǒng)資源監(jiān)測等。首先打開配置操作指令的頁面,輸入操作指令名稱,然后在編輯框內(nèi)輸入該操作指令內(nèi)容,最后進(jìn)行保存入庫,重復(fù)配置所有的操作指令。
[0036]每一類操作指令,對應(yīng)一串系統(tǒng)命令,對各類操作指令進(jìn)行配置時(shí),相當(dāng)于配置操作指令模板,由具體調(diào)用者傳入?yún)?shù),生成最終可執(zhí)行的操作指令。比如,配置如下類型的操作指令:
[0037](I)備份:關(guān)聯(lián)已經(jīng)注冊的備份指令序列。
[0038](2)停進(jìn)程:關(guān)聯(lián)已經(jīng)注冊的停進(jìn)程指令序列。
[0039](3)代碼上傳:將要更新的程序打包,從svn獲取到本地,上傳到運(yùn)維平臺指定目錄,選擇上傳文件到生產(chǎn)主機(jī)目標(biāo)目錄sftp (安全文件傳送協(xié)議)更新(支持多主機(jī))。
[0040](4)對于電子渠道,備份文件不允許出現(xiàn)在生產(chǎn)主機(jī),需要備份到準(zhǔn)生產(chǎn)環(huán)境,文件上傳也需要從準(zhǔn)生產(chǎn)取到運(yùn)維平臺,然后上傳到生產(chǎn)主機(jī),因此,需要增加幾個(gè)指令,如從準(zhǔn)生產(chǎn)取文件到運(yùn)維平臺,從運(yùn)維平臺上傳文件到生產(chǎn)。
[0041](5)編譯:關(guān)聯(lián)已注冊的編譯指令。
[0042](6)配置文件更新:系統(tǒng)配置文件預(yù)先一次配置好,當(dāng)有更新操作時(shí),支持選擇操作類型(增加,修改,刪除)。
[0043](7)數(shù)據(jù)庫配置更新:支持執(zhí)行sq I腳本文件,修改數(shù)據(jù)庫配置。操作完成后,對修改的結(jié)果進(jìn)行返回展現(xiàn)。
[0044](8)調(diào)度更新:支持通過在線修改,同時(shí)支持命令序列執(zhí)行修改,選擇對應(yīng)主機(jī)及用戶的crontab,選擇操作類型,輸入修改內(nèi)容。源內(nèi)容可以通過在線查看。
[0045](9)啟服務(wù):配置服務(wù)啟用要進(jìn)行的操作,多主機(jī)多用戶串行操作,提示每步的操作結(jié)果。
[0046](10)業(yè)務(wù)監(jiān)測:配置業(yè)務(wù)監(jiān)測要執(zhí)行的指令集合。
[0047]當(dāng)對各類操作指令進(jìn)行配置后,形成操作指令集合,將配置的操作指令按照預(yù)定命名規(guī)則進(jìn)行命名,比如,本實(shí)施例采用“各操作指令的功能名稱+開發(fā)人員名稱+時(shí)間”的方式對各操作指令進(jìn)行命名,并將命名好的各個(gè)操作指令存儲于運(yùn)維平臺。
[0048]隨后,參見圖3,創(chuàng)建需要測試上線的各應(yīng)用程序,并從預(yù)先配置的操作指令集合中為每一個(gè)新建的應(yīng)用程序選擇若干個(gè)操作指令組成一個(gè)應(yīng)用程序?qū)嵗?,至此,?chuàng)建需要測試上線的每一個(gè)應(yīng)用程序完畢。
[0049]另外,當(dāng)配置完各個(gè)操作指令后,還可以根據(jù)對各操作指令的操作權(quán)限對各操作指令進(jìn)行相應(yīng)的操作,參見圖4,比如,在該應(yīng)用程序中增加操作指令或者對修改某操作指令或刪除某操作指令。
[0050]S2、為創(chuàng)建的每一個(gè)所述應(yīng)用程序分配測試主機(jī),并在分配的所述測試主機(jī)上執(zhí)行該應(yīng)用程序的測試。
[0051]具體的,當(dāng)步驟SI創(chuàng)建了需要測試上線的若干個(gè)應(yīng)用程序之后,參見圖5,本步驟為這些需要測試上線的應(yīng)用程序配置相應(yīng)的測試主機(jī)(即應(yīng)用程序最后在哪臺測試主機(jī)上執(zhí)行測試),其中,在一臺測試主機(jī)上可以對多個(gè)應(yīng)用程序進(jìn)行測試,因此,應(yīng)用程序與測試主機(jī)為多對一的對應(yīng)關(guān)系。
[0052]由于測試主機(jī)對應(yīng)有操作人員的操作權(quán)限(即某臺特定的測試主機(jī)只有某幾個(gè)執(zhí)行人員才能使用),因此,為各應(yīng)用程序配置了對應(yīng)的測試主機(jī),還需要選擇執(zhí)行測試的執(zhí)行人員。
[0053]隨后,運(yùn)維平臺將各應(yīng)用程序同步分發(fā)給對應(yīng)的測試主機(jī),比如,運(yùn)維平臺通過SFTP (Secure File Transfer Protocol,安全文件傳送協(xié)議)將各應(yīng)用程序同步分發(fā)給對應(yīng)的測試主機(jī)。各測試主機(jī)接收到需要測試上線的應(yīng)用程序時(shí),對對應(yīng)的各應(yīng)用程序執(zhí)行測試,并將測試后的測試結(jié)果上傳給運(yùn)維平臺。運(yùn)維平臺將接收到的測試結(jié)果與預(yù)期結(jié)果進(jìn)行對比,若返回的測試結(jié)果與預(yù)期結(jié)果相同,則對應(yīng)的應(yīng)用程序測試通過,否則,對應(yīng)的應(yīng)用程序測試失敗。另外,對于各測試主機(jī)對相應(yīng)的應(yīng)用程序執(zhí)行測試的操作軌跡進(jìn)行記錄,以便當(dāng)應(yīng)用程序執(zhí)行測試過程出現(xiàn)問題時(shí),方便問題的分析定位。
[0054]S3、將測試通過的應(yīng)用程序進(jìn)行發(fā)布更新。
[0055]具體的,參見圖6,上述步驟對每一個(gè)應(yīng)用程序的測試是否通過做出了判斷,本步驟將測試通過的應(yīng)用程序進(jìn)行發(fā)布。在發(fā)布之前,為了確保發(fā)布的應(yīng)用程序的可靠性,對運(yùn)維平臺判斷測試通過的應(yīng)用程序再進(jìn)行一個(gè)審核,審核該準(zhǔn)備發(fā)布的應(yīng)用程序確實(shí)為測試通過。為經(jīng)過再次審核,確定為測試通過的應(yīng)用程序生成授權(quán)碼,只有擁有授權(quán)碼的應(yīng)用程序才能予以發(fā)布。在對測試通過的應(yīng)用程序進(jìn)行發(fā)布的過程中,將每一個(gè)應(yīng)用程序?qū)?yīng)的測試主機(jī)地址修改為生產(chǎn)主機(jī)地址。
[0056]參見圖7,對測試通過的應(yīng)用程序發(fā)布后,為了確保應(yīng)用程序的使用安全性,對已經(jīng)發(fā)布的應(yīng)用程序配置其上