网页框架部署方法和系统的制作方法

xiaoxiao2020-10-23  12

网页框架部署方法和系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别是涉及一种网页框架部署方法和系统。
【背景技术】
[0002]随着互联网技术的高速发展,人们使用通过相关网页访问其目的地的频率越来越高,这也对开发人员部署、设置网页的效率提出来更高的要求。
[0003]现有技术中,开发Web (网页)应用前,开发人员需要完整的Web开发环境。搭建环境需要运维人员处理,或者开发人员自行搭建,这样会耗费设置相关网页的进度和时间,而且对同一个应用的开发而言,这些工作是简单重复劳动,容易导致现有的网页设置效率低。

【发明内容】

[0004]基于此,有必要针对现有的网页设置效率低的技术问题,提供一种网页框架部署方法和系统。
[0005]一种网页框架部署方法,包括如下步骤:
[0006]在云平台上设置网页用户,并创建网页开发系统的租户;
[0007]连接云平台与Git仓库,根据所述租户的创建信息在Git仓库创建应用程序;其中,所述租户的创建信息包括租户ID和租户名称;
[0008]绑定所述应用程序和网页用户,通过所绑定的网页用户对Git仓库中的代码进行编译;
[0009]在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译;
[0010]调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架。
[0011]一种网页框架部署系统,包括:
[0012]设置模块,用于在云平台上设置网页用户,并创建网页开发系统的租户;
[0013]连接模块,用于连接云平台与Git仓库,根据所述租户的创建信息在Git仓库创建应用程序;其中,所述租户的创建信息包括租户ID和租户名称;
[0014]绑定模块,用于绑定所述应用程序和网页用户,通过所绑定的网页用户对Git仓库中的代码进行编译;
[0015]判定模块,用于在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译;
[0016]部署模块,用于调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架。
[0017]上述网页框架部署方法和系统,通过在云平台上设置网页用户,创建网页开发系统的租户,在进行云平台与Git仓库的连接后,根据上述租户的创建信息在Git仓库创建应用程序,并进行应用程序和网页用户的绑定,并通过所绑定的网页用户对Git仓库中的代码进行编译,在编译成功之后,调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架;在所部署的网页框架上,可以直接设置或者添加多个网页,使后续网页的开发过程中无需重复相关程序的创建、编译等工作,可以有效提高网页的开发效率。
【附图说明】
[0018]图1为一个实施例的网页框架部署方法流程图;
[0019]图2为一个实施例的云平台结构示意图;
[0020]图3为一个实施例的创建应用程序的BPEL流程图;
[0021]图4为一个实施例的系统部署流程示意图;
[0022]图5为一个实施例的Git仓库与Jenkins协同工作示意图;
[0023]图6为一个实施例的系统调用结构图示意图;
[0024]图7为一个实施例的网页框架部署系统结构示意图。
【具体实施方式】
[0025]下面结合附图对本发明提供的网页框架部署方法和系统的【具体实施方式】作详细描述。
[0026]参考图1,图1所示为一个实施例的网页框架部署方法流程图,包括如下步骤:
[0027]S10,在云平台上设置网页用户,并创建网页开发系统的租户;
[0028]上述步骤SlO中,可以在云平台上以选择新建Java Web (用Java技术来解决相关web互联网领域的技术总和)项目的方式设置网页用户,其中,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。还可以选择使用基于Git (分布式版本控制系统)的源代码仓库作为应用程序代码的存储方式,云平台的接口 AddTenant可以提供根据应用名称创建平台租户的服务。
[0029]上述云平台可以结合基于BPEL (—种业务流程执行语言)流程设计新建应用程序的设计思路,BPEL是业务流程描述语言,通过有组织的逻辑调度Web服务,将单独Web服务组织实现特定功能;可以提高在云平台调度Web服务的效率。
[0030]S20,连接云平台与Git仓库,根据所述租户的创建信息在Git仓库创建应用程序;其中,所述租户的创建信息包括租户ID(身份标识号)和租户名称;
[0031]上述步骤S20中,云平台可以使用Git仓库进行代码控制,其通过解析Git仓库的配置文件所包含Git信息,比如Git仓库地址、用户名、密码等等,以连接Git仓库;
[0032]基于Git协议的代码仓库提供Restful接口,可以通过接收租户的创建信息,使用“创建人+租户名称”的格式在git仓库创建应用程序;
[0033]Git仓库可以提供一种创建后操作“post_init”的服务,在创建仓库完成后自动调用。利用这个特性在创建仓库后调用预先实现的一个小脚本创建Maven的Java Web应用程序骨架包。
[0034]骨架包可以创建目录,并在目录中执行gitinit的命令,把骨架包的文件夹变成git协议的代码仓库,代码文件夹既可以使用Maven命令进行编译,也可以作为Git仓库的一个代码受控库;
[0035]应用程序创建成功后,Git仓库向云平台发出创建完成(“create successful”)的信号,云平台中外部组件监听此信息进行相关操作。持续集成系统(Jenkins)接收到应用创建完成的信号,对代码仓库中的代码进行第一次的编译,编译Java Web应用程序需要指定编译使用的插件包,在系统的文件系统中存储编译后的war格式软件包。
[0036]S30,绑定所述应用程序和网页用户,通过所绑定的网页用户对Git仓库中的代码进行编译;
[0037]上述步骤S30中,绑定所述应用程序的网页用户可以被设置为应用的管理员(owner),上述租户与网页用户是一对多的关系,多个用户可以对一个应用程序进行操作。在数据库中的权限表中,可以对网页用户的权限进行管理,当网页用户加入到某个应用中时,权限表中增加一条网页用户和应用程序的对应关系,对应用程序享有读写的权限,还具有对应用程序进行访问和修改部署的权限。
[0038]S40,在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译;
[0039]在一个实施例中,上述在云平台上设置网页用户,并创建网页开发系统的租户的步骤后还可以包括:
[0040]根据租户的创建信息在PaaS平台上注册PaaS租户。
[0041]作为一个实施例,上述在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译的步骤后还可以包括:
[0042]根据绑定所述应用程序和网页用户的过程更新代码,并将所更新的代码保存至Git仓库;
[0043]触发Git仓库的钩子事件,调用PaaS平台的同步接口,并通过PaaS平台的组件分配协调控制器根据所保存的代码进行Git仓库的代码更新。
[0044]上述实施例中,进行Git仓库的代码更新,可以保持Git仓库内代码的准确性与实时性;在PaaS平台上注册PaaS租户,并触发Git仓库的钩子事件后,再调用PaaS平台的同步接口,通过PaaS平台的组件分配协调控制器根据所保存的代码进行Git仓库的代码更新,可以提高Git仓库更新相关代码的速率, 进一步提高本发明网页框架部署的效率。
[0045]在应用程序编译工作完成,返回success (成功)或fail (失败)的编译信息,以判断上述应用程序是否存在问题,若返回结果为success,则完成了应用程序的创建和编译;
[0046]用户可以使用集成开发环境(IDE)对代码签出并进行修改,完成开发的工作之后,可以使用“git commit git push”的操作将代码更新到代码仓库,触发应用软件的更新和进行PaaS的部署;
[0047]当代码被推送到Git仓库,Git仓库通过配置实现钩子(Hook)事件触发,调用PaaS的同步接口,通知平台的组件分配协调控制器(ADC)处理信息,具体步骤可以如下:
[0048]Al,Git仓库的hook设置为调用Jenkins的groovy脚本进行编译,groovy脚本可以执行shell脚本、windows批处理脚本、调用Apache Ant和直接执行groovy脚本的形式。开发平台中使用 “curl-k-X POSTjenkinsUrl+^/git/notifyCommit ? url = $url/git/$applicat1n.name〃+〃&branches = "+branch”的请求,启动 Jenkins 对当前仓库下的应用程序源代码进行编译;
[0049]A2,ADC控制器接收到同步的请求,根据相关应用信息(租户的创建信息)中的租户ID,判断应用是否存在代码仓库,若不存在,按云平台系统异常处理。
[0050]A3,根据应用的租户ID,通过Jenkins的仓库找到对应ID的应用程序,下载编译后的Web应用程序包(war格式)到临时文件夹;
[0051]A4,ADC扫描PaaS平台后端的容器实例拓扑结构图,并在内存中保存一张最新的容器实例运行的信息表,通过这种方式,开发平台能实时掌握每个实例所运行的应用程序列表和数目;
[0052]A5,如ADC发现已经有实例在运行旧版本的应用程序,将A2中的war包覆盖到原应用程序运行的位置,进行版本的更新部署;如系统判断代码包属于新应用程序上线,通知容器环境创建应用实例并对代码包进行同步。
[0053]S50,调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架。
[0054]在一个实施例中,上述调用LXC容器的接口创建网页实例的过程可以包括:
[0055]通过预置云镜像配置网页实例的环境;
[0056]在所配置的环境中,调用LXC容器的接口创建网页实例。
[0057]作为一个实施例,上述调用LXC容器的接口创建网页实例的过程进一步可以包括:
[0058]使用ubuntu云镜像文件作为云平台的基础镜像,通过所述基础镜像进行云平台的增量部署;
[0059]通过LXC容器的Restful管理接口,使用基础镜像创建一个基于LXC容器的网页实例。
[0060]上述实施例中,在通过预置云镜像配置网页实例的环境后,调用LXC容器的接口创建网页实例,有利于提高网页实例的创建效率。其中还可以使用ubuntu云镜像文件作为云平台的基础镜像,通过所述基础镜像进行云平台的增量部署,进一步提高通过LXC容器的接口创建网页实例的稳定性。
[0061]在一个实施例中,云平台可以调用LXC(Linux Container)容器的接口创建网页实例,LXC容器通过预置云镜像创建网页实例环境。PaaS系统使用LXC容器管理的解决方案主要内容包括镜像文件、定制的自动运行脚本、环境部署需要的软件包,主要步骤如下:
[0062]系统的镜像使用通用的ubuntu云镜像文件作为系统基础镜像,所有的Java Web应用程序都通过在这个镜像的基础上进行增量部署;
[0063]通过LXC容器的Restful管理接口,使用基础镜像创建一个基于LXC容器的网页实例。容器创建后,通过SSH(远程登录)的形式向容器注入自动运行脚本。
[0064]自动运行脚本顺序执行以下命令:创建一个容器的用户和组,分配用户权限,从文件服务器上下载jdk (Java Development Kit,Java语言软件开发包)软件,下载tomcat软件,对软件进行解压安装,配置系统环境变量并启动tomcat,使jdk和tomcat可以通过全局环境变量进行访问,系统触发“Java-vers1n”和ps - ef | grep tomcat两条命令,确认tomcat启动正常;
[0065]网页实例创建完成后,可以通过应用程序部署脚本,需要签出相应的应用程序包到网页实例中进行部署,主要步骤可以如下:
[0066]网页实例共享主机的存储空间,脚本中通过使用LXC容器管理工具的命令接口,将Jenkins中编译出来的war包拷贝到网页实例的文件系统中;
[0067]启动应用程序,完成Web应用的部署工作。
[0068]上述实施例提供的网页框架部署方法,通过在云平台上设置网页用户,创建网页开发系统的租户,在进行云平台与Git仓库的连接后,根据上述租户的创建信息在Git仓库创建应用程序,并进行应用程序和网页用户的绑定,并通过所绑定的网页用户对Git仓库中的代码进行编译,在编译成功之后,调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架;在所部署的网页框架上,可以直接设置或者添加多个网页,使后续网页的开发过程中无需重复相关程序的创建、编译等工作,可以有效提高网页的开发效率。
[0069]在一个实施例中,上述云平台结构示意图可以如图2所示,软件开发系统(即上述云平台)可以通过调用源代码管理仓库、持续集成系统和缺陷管理系统的服务接口,实现代码的存储、编译和缺陷风险的记录。平台使用Eclipse开发环境可以对代码进行下载、修改和上传,并触发编译系统生成部署包(war格式的软件包)。开发平台调用PaaS平台的接口,同步部署到LXC容器的应用服务器中。
[0070]图3所示为一个实施例的创建应用程序的BPEL(业务流程执行语言)流程设计,基于SOA (面向服务的体系结构)设计的服务接口发布为Web服务,系统开发无需再重复开发此类接口,只需要了解原有接口的参数格式,通过http协议轻松访问。
[0071]图4所示为一个实施例的系统部署流程示意图,相关用户可以通过在仓库提交应用程序代码,平台后台启动流程对应用进行部署,流程图可以如下所示:
[0072]I)用户通过平台与集成的 IDE (Integrated Development Environment,集成开发环境)进行应用程序代码的开发,开发工作完成之后,用户打包应用程序,并通过平台的界面对代码包进行推送,代码和代码包同步到系统的代码仓库中;
[0073]2)当代码被推送到仓库,仓库通过配置实现钩子(Hook)事件触发,通知平台的组件分配协调控制器(ADC)处理信息;
[0074]3) ADC处理消息,扫描平台后端的实例拓扑结构,系统判断代码包属于新应用,通知容器环境创建应用实例并对代码进行同步;
[0075]4)系统调用LXC容器的接口创建实例,LXC容器通过预置云镜像创建实例环境;
[0076]5)实例创建完成后,通过实例中的启动脚本,自动签出相应的代码进行部署;
[0077]6)启动应用,完成部署的工作。
[0078]图5所示为一个实施例的Git仓库与Jenkins (—个开源软件项目)协同工作示意图。Git仓库接收到用户的推送请求之后,调用groovy (—种基于Java虚拟机的敏捷开发语言)脚本触发Jenkins编译软件源代码,生成war格式的软件包。当LXC容器创建出来后,执行必要的初始化脚本之后,将Jenkins编译生成的应用包下载到容器中。
[0079]图6所示为一个实施例的系统调用结构 图示意图,其示出了本发明的总体架构实现松耦合的设计,服务端和客户端分离。服务端基于Axis2的服务进行开发,发布的service通过WSDL生成客户端调用(stub),使用端通过stub对服务进行调用。控制层和界面基于JavaScript进行开发,通过HostObject实体对stub进行调用,从而实现对服务的调用。
[0080]参考图7,图7所示为一个实施例的网页框架部署系统结构示意图,包括:
[0081]设置模块10,用于在云平台上设置网页用户,并创建网页开发系统的租户;
[0082]连接模块20,用于连接云平台与Git仓库,根据所述租户的创建信息在Git仓库创建应用程序;其中,所述租户的创建信息包括租户ID和租户名称;
[0083]绑定模块30,用于绑定所述应用程序和网页用户,通过所绑定的网页用户对Git仓库中的代码进行编译;
[0084]判定模块40,用于在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译;
[0085]在一个实施例中,上述设置模块还可以包括:
[0086]注册模块,用于根据租户的创建信息在PaaS平台上注册PaaS租户。
[0087]作为一个实施例,上述判定模块后还可以包括:
[0088]保存模块,用于根据绑定所述应用程序和网页用户的过程更新代码,并将所更新的代码保存至Git仓库;
[0089]更新模块,用于触发Git仓库的钩子事件,调用PaaS平台的同步接口,并通过PaaS平台的组件分配协调控制器根据所保存的代码进行Git仓库的代码更新。
[0090]部署模块50,用于调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架。
[0091 ] 在一个实施例中,上述部署模块进一步用于:
[0092]通过预置云镜像配置网页实例的环境;
[0093]在所配置的环境中,调用LXC容器的接口创建网页实例。
[0094]作为一个实施例,上述部署模块还可以进一步用于:
[0095]使用ubuntu云镜像文件作为云平台的基础镜像,通过所述基础镜像进行云平台的增量部署;
[0096]通过LXC容器的Restful管理接口,使用基础镜像创建一个基于LXC容器的网页实例。
[0097]本发明的网页框架部署系统与本发明的网页框架部署方法一一对应,在上述网页框架部署方法的实施例阐述的技术特征及其有益效果均适用于网页框架部署系统的实施例中,特此声明。
[0098]以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0099]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种网页框架部署方法,其特征在于,包括如下步骤: 在云平台上设置网页用户,并创建网页开发系统的租户; 连接云平台与Git仓库,根据所述租户的创建信息在Git仓库创建应用程序;其中,所述租户的创建信息包括租户ID和租户名称; 绑定所述应用程序和网页用户,通过所绑定的网页用户对Git仓库中的代码进行编译; 在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译; 调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架。2.根据权利要求1所述的网页框架部署方法,其特征在于,所述在云平台上设置网页用户,并创建网页开发系统的租户的步骤后还包括: 根据租户的创建信息在PaaS平台上注册PaaS租户。3.根据权利要求2所述的网页框架部署方法,其特征在于,所述在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译的步骤后还包括: 根据绑定所述应用程序和网页用户的过程更新代码,并将所更新的代码保存至Git仓库; 触发Git仓库的钩子事件,调用PaaS平台的同步接口,并通过PaaS平台的组件分配协调控制器根据所保存的代码进行Git仓库的代码更新。4.根据权利要求1所述的网页框架部署方法,其特征在于,所述调用LXC容器的接口创建网页实例的过程包括: 通过预置云镜像配置网页实例的环境; 在所配置的环境中,调用LXC容器的接口创建网页实例。5.根据权利要求4所述的网页框架部署方法,其特征在于,所述调用LXC容器的接口创建网页实例的过程包括: 使用ubuntu云镜像文件作为云平台的基础镜像,通过所述基础镜像进行云平台的增量部署; 通过LXC容器的Restful管理接口,使用基础镜像创建一个基于LXC容器的网页实例。6.一种网页框架部署系统,其特征在于,包括: 设置模块,用于在云平台上设置网页用户,并创建网页开发系统的租户; 连接模块,用于连接云平台与Git仓库,根据所述租户的创建信息在Git仓库创建应用程序;其中,所述租户的创建信息包括租户ID和租户名称; 绑定模块,用于绑定所述应用程序和网页用户,通过所绑定的网页用户对Git仓库中的代码进行编译; 判定模块,用于在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译; 部署模块,用于调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架。7.根据权利要求6所述的网页框架部署系统,其特征在于,所述设置模块还包括: 注册模块,用于根据租户的创建信息在PaaS平台上注册PaaS租户。8.根据权利要求7所述的网页框架部署系统,其特征在于,所述判定模块后还包括: 保存模块,用于根据绑定所述应用程序和网页用户的过程更新代码,并将所更新的代码保存至Git仓库; 更新模块,用于触发Git仓库的钩子事件,调用PaaS平台的同步接口,并通过PaaS平台的组件分配协调控制器根据所保存的代码进行Git仓库的代码更新。9.根据权利要求8所述的网页框架部署系统,其特征在于,所述部署模块进一步用于: 通过预置云镜像配置网页实例的环境; 在所配置的环境中,调用LXC容器的接口创建网页实例。10.根据权利要求9所述的网页框架部署系统,其特征在于,所述部署模块进一步用于: 使用ubuntu云镜像文件作为云平台的基础镜像,通过所述基础镜像进行云平台的增量部署; 通过LXC容器的Restful管理接口,使用基础镜像创建一个基于LXC容器的网页实例。
【专利摘要】本发明涉及一种网页框架部署方法和系统,上述网页框架部署方法,包括如下步骤:在云平台上设置网页用户,并创建网页开发系统的租户;连接云平台与Git仓库,根据所述租户的创建信息在Git仓库创建应用程序;其中,所述租户的创建信息包括租户ID和租户名称;绑定所述应用程序和网页用户,通过所绑定的网页用户对Git仓库中的代码进行编译;在应用程序编译工作完成后,返回编译信息,并判断是否编译正确,若是,则判定完成了应用程序的创建和编译;调用LXC容器的接口创建网页实例,并在所述网页实例创建完成后,利用应用程序部署网页框架;其使后续网页的开发过程中无需重复相关程序的创建、编译等工作,可以有效提高网页的开发效率。
【IPC分类】G06F9/44, G06F17/30
【公开号】CN104899047
【申请号】CN201510364136
【发明人】温云龙
【申请人】广州杰赛科技股份有限公司
【公开日】2015年9月9日
【申请日】2015年6月25日

最新回复(0)