基于云計算平臺的應用部署方法和系統的制作方法
【技術領域】
[0001] 本發明涉及云計算技術領域,特別是涉及一種基于云計算平臺的應用部署方法和 系統。
【背景技術】
[0002] 在云計算興起的環境下,應用托管的模式逐漸成為趨勢。 PaaS(Platform-as-a-Service,平臺即服務)服務提供商把服務器平臺作為一種服務,使 中小型企業和普通用戶能夠快速部署、配置、使用應用。在這種服務模式中,用戶不需要購 買硬件和軟件,只需要利用PaaS平臺系統,就能夠創建、測試和部署應用和服務。
[0003] -般在云計算平臺進行應用部署時,需要將應用的源代碼上傳后進行部署,比如 在CloudFoundry的框架中,用戶通過在系統的平臺界面或者通過命令行的形式,上傳應用 軟件包(war格式或其他源代碼格式的壓縮包),把web應用系統托管在廠商的服務器上運 行,平臺廠商為為web應用準備應用運行需要的軟件環境,然后進行應用部署。這種應用部 署方式需要提供源代碼或者通過命令行的形式調出源代碼,然后上傳至平臺進行部署,部 署的過程比較繁瑣,效率較低。
【發明內容】
[0004] 基于此,有必要針對現有在云計算平臺進行應用部署時,部署的過程比較繁瑣,效 率較低的問題,提供一種基于云計算平臺的應用部署方法和系統。
[0005] -種基于云計算平臺的應用部署方法,包括以下步驟:
[0006] 生成與需要部署的應用對應的配置文件;其中,所述配置文件包括:所述應用的 源代碼地址、編寫語言及其運行環境;
[0007] 通過云計算平臺根據所述源代碼地址從源代碼倉庫下載所述應用的源代碼,根據 所述編寫語言和運行環境從源代碼倉庫下載所需的編譯工具包;
[0008] 創建應用容器,并將所述源代碼和編譯工具包在所述應用容器中進行編譯,得到 編譯代碼,根據所述編譯代碼對所述應用進行部署。
[0009] 一種基于云計算平臺的應用部署系統,包括:
[0010] 生成模塊,用于生成與需要部署的應用對應的配置文件;其中,所述配置文件包 括:所述應用的源代碼地址、編寫語言及其運行環境;
[0011] 下載模塊,用于通過云計算平臺根據所述源代碼地址從源代碼倉庫下載所述應用 的源代碼,根據所述編寫語言和運行環境從源代碼倉庫下載所需的編譯工具包;
[0012] 編譯模塊,用于創建應用容器,并將所述源代碼和編譯工具包在所述應用容器中 進行編譯,得到編譯代碼,根據所述編譯代碼對所述應用進行部署。
[0013] 上述基于云計算平臺的應用部署方法和系統,通過生成與需要部署的應用對應的 配置文件,根據配置文件的源代碼地址、編寫語言及其運行環境下載需要的源代碼和編譯 工具包,然后在新建的應用容器中進行編譯,并根據編譯結果進行部署,部署的過程比較簡 便,效率較高。
【附圖說明】
[0014] 圖1為一實施例基于云計算平臺的應用部署方法流程圖;
[0015] 圖2為另一實施例基于云計算平臺的應用部署方法流程圖;
[0016] 圖3為一實施例用戶部署流程示意圖;
[0017] 圖4為一實施例部署應用界面示意圖
[0018] 圖5為一實施例版本更新流程圖;
[0019]圖6為一實施例基于云計算平臺的應用部署系統結構示意圖;
[0020]圖7為另一實施例基于云計算平臺的應用部署系統結構示意圖。
【具體實施方式】
[0021] 為了詳細說明本發明的基于云計算平臺的應用部署方法和系統,下面將結合附圖 進行說明。
[0022] 請參閱圖1,圖1為一實施例基于云計算平臺的應用部署方法流程圖。
[0023] 一種基于云計算平臺的應用部署方法,包括以下步驟:
[0024] 步驟SlOl:生成與需要部署的應用對應的配置文件;其中,所述配置文件包括:所 述應用的源代碼地址、編寫語言及其運行環境;
[0025] 在步驟SlOl中,源代碼地址指源代碼存放的地址,生成與應用對應的配置文件是 為了后續根據配置文件信息部署提供依據。
[0026] 在一實施例中,配置文件可以是YAML(YetAnotherMarkupLanguage,另一種標 記語言)格式的配置文件。
[0027] 步驟S103 :通過云計算平臺根據所述源代碼地址從源代碼倉庫下載所述應用的 源代碼,根據所述編寫語言和運行環境從源代碼倉庫下載所需的編譯工具包;
[0028] 在步驟S103中,源代碼倉庫指存儲源代碼和編譯工具包的代碼倉庫。
[0029] 在一實施例中,所述編寫語言和運行環境從源代碼倉庫下載所需的編譯工具包的 步驟之前還可以包括:
[0030] 調用云計算平臺的云控制器對所述源代碼進行壓縮打包處理,得到源代碼壓縮 包;
[0031] 所述將所述源代碼和編譯工具包在所述應用容器中進行編譯的步驟可以包括:
[0032] 調用云計算平臺的執行代理組件將所述源代碼壓縮包和編譯工具包在所述應用 容器中解壓并進行編譯。
[0033] 上述實施例,通過對源代碼進行壓縮打包處理可以加快源代碼從云控制器到執行 代理組件的傳遞效率。
[0034] 在一實施例中,所述調用云計算平臺的執行代理組件將所述源代碼壓縮包和編譯 工具包在所述應用容器中解壓并進行編譯的步驟可以包括:
[0035] 調用執行代理組件創建部署的腳本文件,將所述源代碼壓縮包、編譯工具包和腳 本文件置入所述應用容器中,解壓所述源代碼壓縮包和編譯工具包,根據所述腳本文件對 所述應用容器進行配置。
[0036] 通過生成的腳本文件對應用容器進行配置可以更效率的配置應用容器。
[0037] 在一實施例中,所述調用云計算平臺的云控制器對所述源代碼進行壓縮打包處 理,得到源代碼壓縮包的步驟可以包括:
[0038] 調用云計算平臺的云控制器對所述源代碼進行壓縮打包處理,將源代碼壓縮包保 存在本地緩存文件中并以識別碼命名。
[0039] 上述實施例,通過對源代碼壓縮包進行識別碼命名,可以統計每個源代碼壓縮包, 在需要部署應用時可以更快的下載到對應源代碼。
[0040] 在一實施例中,以十六位通用唯一識別碼命名源代碼壓縮包。
[0041] 進一步的,還可以根據時間的先后,賦予每個版本一個版本號Vi、V2……vn。
[0042] 步驟S105:創建應用容器,并將所述源代碼和編譯工具包在所述應用容器中進行 編譯,得到編譯代碼,根據所述編譯代碼對所述應用進行部署。
[0043] 在一實施例中,所述根據所述編譯代碼對所述應用進行部署的步驟之后還可以包 括:
[0044] 檢測源代碼數據的更新狀態,在源代碼數據發生更新時,根據新的源代碼進行應 用的重新部署。
[0045] 上述實施例,在通過鑒權之后,云控制器將新版的代碼下載并打包把舊版源碼包 移出部署目錄,重新執行創建新應用容器和編譯過程,實現新版本軟件的部署。
[0046] 上述基于云計算平臺的應用部署方法,通過生成與需要部署的應用對應的配置文 件,根據配置文件的源代碼地址、編寫語言及其運行環境下載需要的源代碼和編譯工具包, 然后在新建的應用容器中進行編譯,并根據編譯結果進行部署,部署的過程比較簡便,效率 較高。
[0047] 為了更詳細的說明本發明的基于云計算平臺的應用部署方法,下面將結合具體應 用實例進行說明。
[0048] 請參與圖2,圖2為一實施例用戶部署流程示意圖。
[0049] 本具體應用實例以在CloudFoundry平臺的應用為例進行說明,并設計云應用商 店模塊來生成與需要部署的應用對應的配置文件,源代碼倉庫包括Git應用源代碼倉庫和 編譯工具包倉庫,用于存儲源代碼和編譯工具包。
[0050] 本具體應用實例基于CloudFoundry平臺應用托管的能力,云應用商店模塊提供 類似蘋果AppStore? (應用程序商店)的服務,借助CloudFoundry平臺的快速部署能力 和多語言框架設計,云應用商店模塊中集成大量不同語言框架的web應用程序模板,向普 通用戶提供"開箱即用"的收費和免費的應用。用戶無需太多專業開發知識,通過云應用商 店模塊訂閱應用程序得到一個可訪問的鏈接地址和登陸憑證,通過瀏覽器即可訪問web應 用程序。
[0051] 用戶通過瀏覽器登陸訪問本發明中的web界面,在云應用商店中,選擇合適的應 用程序。用戶選擇部署后,觸發CloudFoundry平臺工作,平臺的服務組件從源代碼倉庫簽 出代碼,打包,下載到容器中;并選擇合適的編譯工具,在容器中搭建合適該web應用程序 運行的軟件環境,并啟動應用程序。
[0052] 作為有開發能力的用戶和開發者,可以通過平臺預置的應用模板,進行web應用 的開發。好處在于開發者可以在平臺支持的框架之下進行開發,無需擔心兼容問題。本 具體應用實例涉及開源PaaS(Platform-as-a-Service,平臺即服務)平臺CloudFoundry的功能擴展,在原有平臺上新增云應用商店模塊。設計上主要包括三部分,1)云應用商店 通過CloudFoundry平臺提供的服務接口,對接其租戶和用戶接口,實現授權和驗證的功 能;通