基于云计算平台的应用部署方法和系统的制作方法

文档序号:8472783阅读:2100来源:国知局
基于云计算平台的应用部署方法和系统的制作方法
【技术领域】
[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平台提供的服务接口,对接其租户和用户接口,实现授权和验证的功 能;通
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1