本發(fā)明涉及一種適配多環(huán)境配置的快速部署系統(tǒng)的方法。
背景技術(shù):
互聯(lián)網(wǎng)項(xiàng)目的上線(xiàn)總是要伴隨各種測(cè)試,諸如內(nèi)部測(cè)試、alpha測(cè)試、beta測(cè)試等。因此出現(xiàn)了一份代碼需要適應(yīng)不同環(huán)境的需求。越是復(fù)雜的系統(tǒng),需要根據(jù)不同環(huán)境配置的信息越多。通過(guò)修改項(xiàng)目配置文件再打包的部署系統(tǒng)的方式缺點(diǎn)顯著,具有效率低、錯(cuò)誤率高、人工成本高等問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種適配多環(huán)境配置的快速部署系統(tǒng)的方法,一次編譯能適配多種環(huán)境配置,能減低多次修改配置文件帶來(lái)的錯(cuò)誤,減少部署時(shí)間,提高工作效率。
一種多環(huán)境不同配置的快速部署方法,其特征在于包括如下步驟:
步驟1、提取配置文件
輸入項(xiàng)目配置文件,提取其中需要根據(jù)不同環(huán)境修改配置的項(xiàng)目配置文件,保留原始項(xiàng)目目錄結(jié)構(gòu),并按照項(xiàng)目目錄結(jié)構(gòu)存放文件,最外層文件夾為項(xiàng)目名稱(chēng),即剔除適配多環(huán)境無(wú)需修改配置的項(xiàng)目配置文件,留下需要修改的項(xiàng)目配置文件;
步驟2、創(chuàng)建配置庫(kù)
依次根據(jù)不同的部署環(huán)境修改步驟1提取出的項(xiàng)目配置文件,每個(gè)部署環(huán)境綁定對(duì)應(yīng)的項(xiàng)目配置文件,創(chuàng)建配置庫(kù),并將所述的項(xiàng)目配置文件提交到配置庫(kù)中,配置庫(kù)采用與代碼庫(kù)相同的管理工具;
步驟3、項(xiàng)目代碼構(gòu)建
使用自動(dòng)化構(gòu)建工具從代碼庫(kù)中檢出需要部署的指定版本號(hào)的項(xiàng)目代碼并編譯;
步驟4、打包文件
使用自動(dòng)化構(gòu)建工具從步驟2創(chuàng)建的配置庫(kù)中檢出與步驟3構(gòu)建的項(xiàng)目代碼對(duì)應(yīng)版本號(hào)的全部項(xiàng)目配置文件,編寫(xiě)腳本,將步驟3編譯好的項(xiàng)目代碼文件與對(duì)應(yīng)環(huán)境的項(xiàng)目配置文件打包在一起,此時(shí)不合并項(xiàng)目配置文件跟項(xiàng)目代碼,項(xiàng)目代碼與項(xiàng)目配置文件還是相互獨(dú)立,只是在同一個(gè)包中而已;
步驟5、傳輸文件
將步驟4打包好的文件傳輸?shù)讲渴鹣到y(tǒng)的倉(cāng)庫(kù)中并分發(fā)到部署服務(wù)器,分發(fā)只傳輸需要部署項(xiàng)目的包,而不是全部;
步驟6、部署項(xiàng)目
到部署服務(wù)器上將步驟4打包好的文件解壓,拷貝項(xiàng)目代碼文件及對(duì)應(yīng)的項(xiàng)目配置文件到web服務(wù)器的指定目錄下,部署時(shí)先部署項(xiàng)目代碼文件,然后再替換項(xiàng)目配置文件,最后再啟動(dòng)web服務(wù)器。
本發(fā)明一種多環(huán)境不同配置的快速部署方法,分離出項(xiàng)目中不同配置的項(xiàng)目配置文件,剔除適配多環(huán)境無(wú)需修改配置的項(xiàng)目配置文件,留下需要修改的項(xiàng)目配置文件,這樣可以保證項(xiàng)目配置文件能快速準(zhǔn)確替換;在部署時(shí)根據(jù)不同環(huán)境啟用不同的項(xiàng)目配置文件,可以減少項(xiàng)目的編譯次數(shù),提高不同網(wǎng)絡(luò)間傳輸效率,降低由于人工修改引起的錯(cuò)誤,快速部署同一份代碼到不同的環(huán)境中,實(shí)現(xiàn)一次編譯處處可用的目標(biāo)。
附圖說(shuō)明
圖1為本發(fā)明的工作流程示意圖;
圖2為本發(fā)明的配置文件提取流程圖。
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳述。
具體實(shí)施方式
如圖1所示,本發(fā)明一種多環(huán)境不同配置的快速部署方法,包括如下步驟:
步驟1、提取配置文件
如圖2所示,輸入項(xiàng)目配置文件,提取其中需要根據(jù)不同環(huán)境修改配置的項(xiàng)目配置文件,保留原始項(xiàng)目目錄結(jié)構(gòu),并按照項(xiàng)目目錄結(jié)構(gòu)存放文件,最外層文件夾為項(xiàng)目名稱(chēng),即剔除適配多環(huán)境無(wú)需修改配置的項(xiàng)目配置文件,留下需要修改的項(xiàng)目配置文件,這樣可以保證項(xiàng)目配置文件能快速準(zhǔn)確替換;
步驟2、創(chuàng)建配置庫(kù)
依次根據(jù)不同的部署環(huán)境修改步驟1提取出的項(xiàng)目配置文件,每個(gè)部署環(huán)境綁定對(duì)應(yīng)的項(xiàng)目配置文件,創(chuàng)建配置庫(kù),并將所述的項(xiàng)目配置文件提交到配置庫(kù)中,配置庫(kù)采用與代碼庫(kù)相同的管理工具,比如svn、git等,可以降低學(xué)習(xí)成本同時(shí)也能方便之后修改配置時(shí)進(jìn)行控制版本,同時(shí)也能方便查錯(cuò);
步驟3、項(xiàng)目代碼構(gòu)建
使用自動(dòng)化構(gòu)建工具(如Jenkins)從代碼庫(kù)中檢出需要部署的指定版本號(hào)的項(xiàng)目代碼并編譯,這里引入自動(dòng)化構(gòu)建工具可以減少人工參與,高效構(gòu)建項(xiàng)目;
步驟4、打包文件
使用自動(dòng)化構(gòu)建工具(如Jenkins)從步驟2創(chuàng)建的配置庫(kù)中檢出與步驟3構(gòu)建的項(xiàng)目代碼對(duì)應(yīng)版本號(hào)的全部項(xiàng)目配置文件,編寫(xiě)腳本,將步驟3編譯好的項(xiàng)目代碼文件與對(duì)應(yīng)環(huán)境的項(xiàng)目配置文件打包在一起,此時(shí)不合并項(xiàng)目配置文件跟項(xiàng)目代碼,項(xiàng)目代碼與項(xiàng)目配置文件還是相互獨(dú)立,只是在同一個(gè)包中而已;該打包文件包含項(xiàng)目代碼文件、不同環(huán)境的項(xiàng)目配置文件,這樣的好處是可以減小部署包的大小,加快傳輸速度,因?yàn)轫?xiàng)目代碼文件相對(duì)項(xiàng)目配置文件的大小相差多個(gè)數(shù)量級(jí);
步驟5、傳輸文件
將步驟4打包好的文件傳輸?shù)讲渴鹣到y(tǒng)的倉(cāng)庫(kù)中并分發(fā)到部署服務(wù)器,為節(jié)省傳輸時(shí)間,這邊分發(fā)只傳輸需要部署項(xiàng)目的包,而不是全部;
步驟6、部署項(xiàng)目
到部署服務(wù)器上將步驟4打包好的文件解壓,拷貝項(xiàng)目代碼文件及對(duì)應(yīng)的配置文件到web服務(wù)器的指定目錄下,部署時(shí)先部署項(xiàng)目代碼文件,然后再替換項(xiàng)目配置文件,最后再啟動(dòng)web服務(wù)器,此步驟可以編寫(xiě)腳本批量執(zhí)行,加快部署,減少人工參與導(dǎo)致的錯(cuò)誤。
以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明的技術(shù)范圍作任何限制,故凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何細(xì)微修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。