網(wǎng)頁框架部署方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種網(wǎng)頁框架部署方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,人們使用通過相關(guān)網(wǎng)頁訪問其目的地的頻率越來越高,這也對開發(fā)人員部署、設(shè)置網(wǎng)頁的效率提出來更高的要求。
[0003]現(xiàn)有技術(shù)中,開發(fā)Web (網(wǎng)頁)應(yīng)用前,開發(fā)人員需要完整的Web開發(fā)環(huán)境。搭建環(huán)境需要運維人員處理,或者開發(fā)人員自行搭建,這樣會耗費設(shè)置相關(guān)網(wǎng)頁的進(jìn)度和時間,而且對同一個應(yīng)用的開發(fā)而言,這些工作是簡單重復(fù)勞動,容易導(dǎo)致現(xiàn)有的網(wǎng)頁設(shè)置效率低。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對現(xiàn)有的網(wǎng)頁設(shè)置效率低的技術(shù)問題,提供一種網(wǎng)頁框架部署方法和系統(tǒng)。
[0005]一種網(wǎng)頁框架部署方法,包括如下步驟:
[0006]在云平臺上設(shè)置網(wǎng)頁用戶,并創(chuàng)建網(wǎng)頁開發(fā)系統(tǒng)的租戶;
[0007]連接云平臺與Git倉庫,根據(jù)所述租戶的創(chuàng)建信息在Git倉庫創(chuàng)建應(yīng)用程序;其中,所述租戶的創(chuàng)建信息包括租戶ID和租戶名稱;
[0008]綁定所述應(yīng)用程序和網(wǎng)頁用戶,通過所綁定的網(wǎng)頁用戶對Git倉庫中的代碼進(jìn)行編譯;
[0009]在應(yīng)用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應(yīng)用程序的創(chuàng)建和編譯;
[0010]調(diào)用LXC容器的接口創(chuàng)建網(wǎng)頁實例,并在所述網(wǎng)頁實例創(chuàng)建完成后,利用應(yīng)用程序部署網(wǎng)頁框架。
[0011]一種網(wǎng)頁框架部署系統(tǒng),包括:
[0012]設(shè)置模塊,用于在云平臺上設(shè)置網(wǎng)頁用戶,并創(chuàng)建網(wǎng)頁開發(fā)系統(tǒng)的租戶;
[0013]連接模塊,用于連接云平臺與Git倉庫,根據(jù)所述租戶的創(chuàng)建信息在Git倉庫創(chuàng)建應(yīng)用程序;其中,所述租戶的創(chuàng)建信息包括租戶ID和租戶名稱;
[0014]綁定模塊,用于綁定所述應(yīng)用程序和網(wǎng)頁用戶,通過所綁定的網(wǎng)頁用戶對Git倉庫中的代碼進(jìn)行編譯;
[0015]判定模塊,用于在應(yīng)用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應(yīng)用程序的創(chuàng)建和編譯;
[0016]部署模塊,用于調(diào)用LXC容器的接口創(chuàng)建網(wǎng)頁實例,并在所述網(wǎng)頁實例創(chuàng)建完成后,利用應(yīng)用程序部署網(wǎng)頁框架。
[0017]上述網(wǎng)頁框架部署方法和系統(tǒng),通過在云平臺上設(shè)置網(wǎng)頁用戶,創(chuàng)建網(wǎng)頁開發(fā)系統(tǒng)的租戶,在進(jìn)行云平臺與Git倉庫的連接后,根據(jù)上述租戶的創(chuàng)建信息在Git倉庫創(chuàng)建應(yīng)用程序,并進(jìn)行應(yīng)用程序和網(wǎng)頁用戶的綁定,并通過所綁定的網(wǎng)頁用戶對Git倉庫中的代碼進(jìn)行編譯,在編譯成功之后,調(diào)用LXC容器的接口創(chuàng)建網(wǎng)頁實例,并在所述網(wǎng)頁實例創(chuàng)建完成后,利用應(yīng)用程序部署網(wǎng)頁框架;在所部署的網(wǎng)頁框架上,可以直接設(shè)置或者添加多個網(wǎng)頁,使后續(xù)網(wǎng)頁的開發(fā)過程中無需重復(fù)相關(guān)程序的創(chuàng)建、編譯等工作,可以有效提高網(wǎng)頁的開發(fā)效率。
【附圖說明】
[0018]圖1為一個實施例的網(wǎng)頁框架部署方法流程圖;
[0019]圖2為一個實施例的云平臺結(jié)構(gòu)示意圖;
[0020]圖3為一個實施例的創(chuàng)建應(yīng)用程序的BPEL流程圖;
[0021]圖4為一個實施例的系統(tǒng)部署流程示意圖;
[0022]圖5為一個實施例的Git倉庫與Jenkins協(xié)同工作示意圖;
[0023]圖6為一個實施例的系統(tǒng)調(diào)用結(jié)構(gòu)圖示意圖;
[0024]圖7為一個實施例的網(wǎng)頁框架部署系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0025]下面結(jié)合附圖對本發(fā)明提供的網(wǎng)頁框架部署方法和系統(tǒng)的【具體實施方式】作詳細(xì)描述。
[0026]參考圖1,圖1所示為一個實施例的網(wǎng)頁框架部署方法流程圖,包括如下步驟:
[0027]S10,在云平臺上設(shè)置網(wǎng)頁用戶,并創(chuàng)建網(wǎng)頁開發(fā)系統(tǒng)的租戶;
[0028]上述步驟SlO中,可以在云平臺上以選擇新建Java Web (用Java技術(shù)來解決相關(guān)web互聯(lián)網(wǎng)領(lǐng)域的技術(shù)總和)項目的方式設(shè)置網(wǎng)頁用戶,其中,Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言。還可以選擇使用基于Git (分布式版本控制系統(tǒng))的源代碼倉庫作為應(yīng)用程序代碼的存儲方式,云平臺的接口 AddTenant可以提供根據(jù)應(yīng)用名稱創(chuàng)建平臺租戶的服務(wù)。
[0029]上述云平臺可以結(jié)合基于BPEL (—種業(yè)務(wù)流程執(zhí)行語言)流程設(shè)計新建應(yīng)用程序的設(shè)計思路,BPEL是業(yè)務(wù)流程描述語言,通過有組織的邏輯調(diào)度Web服務(wù),將單獨Web服務(wù)組織實現(xiàn)特定功能;可以提高在云平臺調(diào)度Web服務(wù)的效率。
[0030]S20,連接云平臺與Git倉庫,根據(jù)所述租戶的創(chuàng)建信息在Git倉庫創(chuàng)建應(yīng)用程序;其中,所述租戶的創(chuàng)建信息包括租戶ID(身份標(biāo)識號)和租戶名稱;
[0031]上述步驟S20中,云平臺可以使用Git倉庫進(jìn)行代碼控制,其通過解析Git倉庫的配置文件所包含Git信息,比如Git倉庫地址、用戶名、密碼等等,以連接Git倉庫;
[0032]基于Git協(xié)議的代碼倉庫提供Restful接口,可以通過接收租戶的創(chuàng)建信息,使用“創(chuàng)建人+租戶名稱”的格式在git倉庫創(chuàng)建應(yīng)用程序;
[0033]Git倉庫可以提供一種創(chuàng)建后操作“post_init”的服務(wù),在創(chuàng)建倉庫完成后自動調(diào)用。利用這個特性在創(chuàng)建倉庫后調(diào)用預(yù)先實現(xiàn)的一個小腳本創(chuàng)建Maven的Java Web應(yīng)用程序骨架包。
[0034]骨架包可以創(chuàng)建目錄,并在目錄中執(zhí)行g(shù)itinit的命令,把骨架包的文件夾變成git協(xié)議的代碼倉庫,代碼文件夾既可以使用Maven命令進(jìn)行編譯,也可以作為Git倉庫的一個代碼受控庫;
[0035]應(yīng)用程序創(chuàng)建成功后,Git倉庫向云平臺發(fā)出創(chuàng)建完成(“create successful”)的信號,云平臺中外部組件監(jiān)聽此信息進(jìn)行相關(guān)操作。持續(xù)集成系統(tǒng)(Jenkins)接收到應(yīng)用創(chuàng)建完成的信號,對代碼倉庫中的代碼進(jìn)行第一次的編譯,編譯Java Web應(yīng)用程序需要指定編譯使用的插件包,在系統(tǒng)的文件系統(tǒng)中存儲編譯后的war格式軟件包。
[0036]S30,綁定所述應(yīng)用程序和網(wǎng)頁用戶,通過所綁定的網(wǎng)頁用戶對Git倉庫中的代碼進(jìn)行編譯;
[0037]上述步驟S30中,綁定所述應(yīng)用程序的網(wǎng)頁用戶可以被設(shè)置為應(yīng)用的管理員(owner),上述租戶與網(wǎng)頁用戶是一對多的關(guān)系,多個用戶可以對一個應(yīng)用程序進(jìn)行操作。在數(shù)據(jù)庫中的權(quán)限表中,可以對網(wǎng)頁用戶的權(quán)限進(jìn)行管理,當(dāng)網(wǎng)頁用戶加入到某個應(yīng)用中時,權(quán)限表中增加一條網(wǎng)頁用戶和應(yīng)用程序的對應(yīng)關(guān)系,對應(yīng)用程序享有讀寫的權(quán)限,還具有對應(yīng)用程序進(jìn)行訪問和修改部署的權(quán)限。
[0038]S40,在應(yīng)用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應(yīng)用程序的創(chuàng)建和編譯;
[0039]在一個實施例中,上述在云平臺上設(shè)置網(wǎng)頁用戶,并創(chuàng)建網(wǎng)頁開發(fā)系統(tǒng)的租戶的步驟后還可以包括:
[0040]根據(jù)租戶的創(chuàng)建信息在PaaS平臺上注冊PaaS租戶。
[0041]作為一個實施例,上述在應(yīng)用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應(yīng)用程序的創(chuàng)建和編譯的步驟后還可以包括:
[0042]根據(jù)綁定所述應(yīng)用程序和網(wǎng)頁用戶的過程更新代碼,并將所更新的代碼保存至Git倉庫;
[0043]觸發(fā)Git倉庫的鉤子事件,調(diào)用PaaS平臺的同步接口,并通過PaaS平臺的組件分配協(xié)調(diào)控制器根據(jù)所保存的代碼進(jìn)行Git倉庫的代碼更新。
[0044]上述實施例中,進(jìn)行Git倉庫的代碼更新,可以保持Git倉庫內(nèi)代碼的準(zhǔn)確性與實時性;在PaaS平臺上注冊PaaS租戶,并觸發(fā)Git倉庫的鉤子事件后,再調(diào)用PaaS平臺的同步接口,通過PaaS平臺的組件分配協(xié)調(diào)控制器根據(jù)所保存的代碼進(jìn)行Git倉庫的代碼更新,可以提高Git倉庫更新相關(guān)代碼的速率,