一种网页部署方法、装置及电子设备与流程

专利检索2022-05-11  15



1.本技术实施例涉及计算机技术领域,尤其涉及一种网页部署方法及装置、电子设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.在技术人员开发网站时,首先需要编写网站的源代码,再对网站的源代码进行编译,得到编译结果,最后将编译结果部署在网络上以供用户访问部署好的网站。
3.相关技术中,技术人员通常在本地的开发环境中完成网站源代码的编写工作,再将编写好的网站源代码提交至gitlab等网站代码管理平台,以使网站代码管理平台对技术人员提交的网站源代码进行编译、部署等一系列操作。
4.但是,目前方案中,如果需要对网站中的部分网页进行部署,则需要对整个网站进行重新部署,耗费的时间成本和运算量成本较高。


技术实现要素:

5.本技术实施例提供一种网页部署方法及装置、电子设备、计算机可读存储介质及计算机程序产品,以解决相关技术中部署网页耗费的时间成本和运算量成本过高的问题。
6.第一方面,本技术实施例提供了一种网页部署方法,应用于服务端,该方法包括:
7.接收开发终端发送的网页部署请求,所述网页部署请求包括:从网站编译结果中获取的目标网页对应的目标网页编译结果,以及所述网站对应的目标网站标识,所述网站编译结果由所述开发终端调用编译端对网站进行编译得到,所述目标网页为所述网站中的部分网页;
8.根据所述网页部署请求确定所述网站对应的部署端;
9.向所述部署端发送所述目标网页编译结果和所述目标网站标识,所述部署端用于将所述目标网页编译结果,部署在所述目标网站标识对应的目标容器中。
10.在一种可选实施方式中,所述网页部署请求还包括:目标鉴权信息,所述目标鉴权信息用于对所述开发终端的登录账户进行身份验证,所述接收开发终端发送的网页部署请求之后,所述方法还包括:
11.根据所述目标鉴权信息确定所述登录账户的网站部署权限,所述网站部署权限包括授权所述登录账户部署的网站标识;
12.在所述网站部署权限包括所述目标网站标识的情况下,确定执行所述根据所述网页部署请求确定所述网站对应的部署端的步骤;
13.在所述网站部署权限不包括所述目标网站标识的情况下,中断部署流程。
14.在一种可选实施方式中,所述根据所述目标鉴权信息确定所述登录账户的网站部署权限,包括:
15.通过查询鉴权信息和账户标识的对应关系,确定所述目标鉴权信息对应的登录账户标识;
16.通过查询账户标识与部署权限的对应关系,确定所述登录账户对应的网站部署权限。
17.在一种可选实施方式中,所述根据所述网页部署请求确定所述网站对应的部署端,包括:
18.向源代码管理端发送包含所述目标网站标识的网站目录查询请求,并接收由所述源代码管理端返回的所述网站的网站目录,所述网站目录包括所述网站中所有网页的目录结构;
19.获取所述目标网页编译结果的编译结果目录,所述编译结果目录包括所述目标网页在所述网站中的目录结构;
20.在所述编译结果目录与所述网站目录匹配的情况下,通过查询网站标识与地址的对应关系,确定所述目标网站标识对应的部署端地址;
21.在所述编译结果目录与所述网站目录不匹配的情况下,中断部署流程。
22.在一种可选实施方式中,所述网页部署请求还包括:目标鉴权信息,所述方法还包括:
23.通过查询鉴权信息和账户标识的对应关系,确定所述目标鉴权信息对应的登录账户标识;
24.向所述部署端发送所述登录账户标识,所述部署端用于接收所述登录账户标识,并在所述部署端完成对所述目标网页的部署后,向所述开发终端发送部署完成通知,所述部署完成通知包括所述目标网页的访问地址和网站部署版本号中的至少一个。
25.第二方面,本技术实施例提供了一种网站部署方法,应用于开发终端,该方法包括:
26.响应于对网站的编译指令,向编译端发送针对所述网站的编译请求,所述编译端用于接收所述编译请求,并对从源代码管理端拉取的所述网站的源代码进行编译;
27.检测所述编译端对所述网站的编译过程,并在确定所述编译端完成编译的情况下,从所述编译端获取网站编译结果;
28.响应于对所述网站中目标网页的部署指令,从所述网站编译结果中确定所述目标网页对应的目标网页编译结果;
29.根据所述目标网页编译结果生成网页部署请求;
30.将所述网页部署请求发送至服务端,所述服务端用于根据所述网页部署请求,部署所述目标网页。
31.在一种可选实施方式中,所述检测所述编译端对所述网站的编译过程,并在确定所述编译端完成编译的情况下,从所述编译端获取所述网站编译结果,包括:
32.向所述源代码管理端发送源代码标识获取指令,获取所述网站的源代码标识,所述源代码标识用于指示在所述源代码管理端上存储的所述网站的源代码;
33.向所述编译端发送包含所述源代码标识的查询指令,所述编译端用于返回所述源代码标识对应的网站的编译状态,所述编译端中存储有从所述源代码管理端拉取的所述网站的源代码标识;
34.在所述编译状态为完成的情况下,确定所述编译端完成对所述网站的编译。
35.第三方面,本技术实施例提供了一种网页部署装置,该装置包括:
36.接收模块,被配置为接收开发终端发送的网页部署请求,所述网页部署请求包括:从网站编译结果中获取的目标网页对应的目标网页编译结果,以及所述网站对应的目标网站标识,所述网站编译结果由所述开发终端调用编译端对网站进行编译得到,所述目标网页为所述网站中的部分网页;
37.确定模块,被配置为根据所述网页部署请求确定所述网站对应的部署端;
38.部署模块,被配置为向所述部署端发送所述目标网页编译结果和所述目标网站标识,所述部署端用于将所述目标网页编译结果,部署在所述目标网站标识对应的目标容器中。
39.在一种可选实施方式中,所述网页部署请求还包括:目标鉴权信息,所述目标鉴权信息用于对所述开发终端的登录账户进行身份验证,所述接收开发终端发送的网页部署请求之后,所述装置还包括:
40.权限模块,被配置为根据所述目标鉴权信息确定所述登录账户的网站部署权限,所述网站部署权限包括授权所述登录账户部署的网站标识;
41.鉴权模块,被配置为在所述网站部署权限包括所述目标网站标识的情况下,确定执行所述根据所述网页部署请求确定所述网站对应的部署端的步骤;
42.中断模块,被配置为在所述网站部署权限不包括所述目标网站标识的情况下,中断部署流程。
43.在一种可选实施方式中,所述权限模块包括:
44.第一查询子模块,被配置为通过查询鉴权信息和账户标识的对应关系,确定所述目标鉴权信息对应的登录账户标识;
45.第二查询子模块,被配置为通过查询账户标识与部署权限的对应关系,确定所述登录账户对应的网站部署权限。
46.在一种可选实施方式中,所述确定模块包括:
47.第一目录子模块,被配置为向源代码管理端发送包含所述目标网站标识的网站目录查询请求,并接收由所述源代码管理端返回的所述网站的网站目录,所述网站目录包括所述网站中所有网页的目录结构;
48.第二目录子模块,被配置为获取所述目标网页编译结果的编译结果目录,所述编译结果目录包括所述目标网页在所述网站中的目录结构;
49.匹配子模块,被配置为在所述编译结果目录与所述网站目录匹配的情况下,通过查询网站标识与地址的对应关系,确定所述目标网站标识对应的部署端地址;
50.中断子模块,被配置为在所述编译结果目录与所述网站目录不匹配的情况下,中断部署流程。
51.在一种可选实施方式中,所述网页部署请求还包括:目标鉴权信息,所述装置还包括:
52.标识模块,被配置为通过查询鉴权信息和账户标识的对应关系,确定所述目标鉴权信息对应的登录账户标识;
53.标识发送模块,被配置为向所述部署端发送所述登录账户标识,所述部署端用于接收所述登录账户标识,并在所述部署端完成对所述目标网页的部署后,向所述开发终端发送部署完成通知,所述部署完成通知包括所述目标网页的访问地址和网站部署版本号中
的至少一个。
54.第四方面,本技术实施例提供了一种网页部署装置,该装置包括:
55.编译模块,被配置为响应于对网站的编译指令,向编译端发送针对所述网站的编译请求,所述编译端用于接收所述编译请求,并对从源代码管理端拉取的所述网站的源代码进行编译;
56.网站编译结果模块,被配置为检测所述编译端对所述网站的编译过程,并在确定所述编译端完成编译的情况下,从所述编译端获取网站编译结果;
57.页面编译结果模块,被配置为响应于对所述网站中目标网页的部署指令,从所述网站编译结果中确定所述目标网页对应的目标网页编译结果;
58.请求生成模块,被配置为根据所述目标网页编译结果生成网页部署请求;
59.请求发送模块,被配置为将所述网页部署请求发送至服务端,所述服务端用于根据所述网页部署请求,部署所述目标网页。
60.在一种可选实施方式中,所述网站编译结果模块包括:
61.标识获取子模块,被配置为向所述源代码管理端发送源代码标识获取指令,获取所述网站的源代码标识,所述源代码标识用于指示在所述源代码管理端上存储的所述网站的源代码;
62.源码获取子模块,被配置为向所述编译端发送包含所述源代码标识的查询指令,所述编译端用于返回所述源代码标识对应的网站的编译状态,所述编译端中存储有从所述源代码管理端拉取的所述网站的源代码标识;
63.编译完成子模块,被配置为在所述编译状态为完成的情况下,确定所述编译端完成对所述网站的编译。
64.第五方面,本技术实施例还提供了一种电子设备,包括用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现所述的漏洞挖掘方法。
65.第六方面,本技术实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行所述的漏洞挖掘方法。
66.第七方面,本技术实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的漏洞挖掘方法。
67.在本技术实施例中,可以接收开发终端发送的网页部署请求,网页部署请求包括:网站中目标网页对应的目标网页编译结果,目标网页为网站中的部分网页;根据网页部署请求确定网站对应的部署端;根据目标网页编译结果,在部署端上部署目标网页。使得开发人员可以从网站选择部分网页对应性的页面编译结果,并通过向服务端发送该页面编译结果,实现对网站中部分网页进行增量部署,而无需重新部署整个网站,降低了部署网页消耗的时间成本和资源成本。
68.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
69.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
70.图1是本技术实施例提供的一种服务端的网页部署方法的步骤流程图;
71.图2是本技术实施例提供的一种开发终端的网页部署方法的步骤流程图;
72.图3是本技术实施例提供的一种部署页面选择界面示意图;
73.图4是本技术实施例提供的一种网页部署方法的具体交互步骤流程图;
74.图5是本技术实施例提供的一种开发终端部署完成界面示意图;
75.图6是本技术实施例提供的一种服务端侧的网站部署装置结构图;
76.图7是本技术实施例提供的一种开发终端侧的网站部署装置结构图;
77.图8是本技术一个实施例的电子设备的逻辑框图;
78.图9是本技术另一个实施例的电子设备的逻辑框图。
具体实施方式
79.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
80.图1是本技术实施例提供的一种服务端的网页部署方法的步骤流程图,如图1所示,应用于服务端,该方法包括:
81.步骤101,接收开发终端发送的网页部署请求,所述网页部署请求包括:从网站编译结果中获取的目标网页对应的目标网页编译结果,以及所述网站对应的目标网站标识,所述网站编译结果由所述开发终端调用编译端对网站进行编译得到,所述目标网页为所述网站中的部分网页。
82.网站是指一种运行在部署端上,并可以通过网络远程访问、操作的应用程序网站,常见的例如基于html协议的网站。网站的发开一般分为编写、编译、部署和维护这几个阶段,其中,在编写阶段,开发人员完成对网站的源代码编写工作;在编译阶段,对编写好的网站的源代码进行编译操作,得到可以在部署端上进行部署的编译结果,编译结果可以是war格式的包文件或其他可以部署在部署端上的文件;在部署阶段,将网站编译后得到的编译结果部署在部署端上,并将部署端接入互联网,以供使用者通过网络访问和使用网页;在维护阶段,技术人员对网站的源代码进行修订,并对修订后的网站重新编译和部署。
83.在本技术实施例中,技术人员在网站维护阶段,可以对网站中的部分网页对应的源代码进行更改,或在网站中增加新的网页源代码,得到最新版本的网站。并对网站的进行编译操作,得到需要部署在部署端上的网站编译结果。由于旧版本的网站已经被部署,而新版本的网站与旧版本的网站区别仅在于部分网页,因此可以在网站编译结果中选取目标网页编译结果,并根据目标网页编译结果构建网页部署请求,将网页部署请求发送至服务端。
84.服务端接收网页部署请求,在服务端接收到的网页部署请求中,包含网站中目标网页的目标网页编译结果,以及网站对应的目标网站标识。需要说明的是,目标网页编译结
果中,可以存在有网站中所有网页的目录结构,也可以仅存在网站中目标网页的目录结构,在目标网页编译结果存在有网站中所有网页的目录结构的情况下,仅有目标网页对应的目录下存在数据,而非目标网页对应的目录下为空。
85.需要说明的是,在本技术实施例中,各类终端均可以是服务器,也可以是软件。当终端为服务器时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当终端为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
86.步骤102,根据所述网页部署请求确定所述网站对应的部署端。
87.由于开发人员可能同时开发有多个网站,各个网站可能需要部署在不同的服务器上,因此可能存在有多个用于部署不同网站的部署端。服务端在获取到网页部署请求后,需要确定目标网页编译结果需要部署的部署端。
88.具体的,可以获取目标网页编译结果的文件名称,由于目标网页编译结果是由网站经过编译后得到的,因此,目标网页编译结果的文件名可以是一致的。服务端通过查询网站名称和部署端地址的关系对照表,可以确定网站所部署的部署端地址。
89.步骤103,根据所述目标网页编译结果,在所述部署端上部署目标网页。
90.在确定部署端地址后,向部署端地址发送网页部署请求中的目标网页编译结果,以使部署端对目标网页进行部署。
91.具体的,目标网页编译结果仅包含:对网站编译生成的网站编译结果中部分网页的编译结果。虽然目标网页编译结果中可能包含非目标网页的目录结构,但非目标网页的目录中数据为空,因此部署端可以使用目标网页编译结果直接对已经部署在部署端上的,上一版本的网站编译生成的编译结果进行覆盖操作,从而对已经部署在部署端上的目标网页进行更新,起到增量部署的效果。其中,增量部署是指在部署过程中,仅在部署端中更新网站中的增量部分,即目标网页。
92.综上,为本技术实施例提供的一种网站部署方法,使得开发人员可以从网站选择部分网页对应性的页面编译结果,并通过向服务端发送该页面编译结果,实现对网站中部分网页进行增量部署,而无需重新部署整个网站,降低了部署网页消耗的时间成本和资源成本。
93.图2是本技术实施例提供的一种开发终端的网页部署方法的步骤流程图,如图2所示,应用于开发终端,该方法包括:
94.步骤201,响应于对网站的编译指令,向编译端发送针对所述网站的编译请求,所述编译端用于接收所述编译请求,并对从源代码管理端拉取的所述网站的源代码进行编译。
95.编译端是指可以指gitlab等具备持续集成功能的代码管理平台,也可以指任何具备编译网站源代码功能的软件或服务器。
96.开发人员在命令行界面的软件开发环境中,打开网站撰写源代码,撰写完成之后在命令行界面输入编译命令,启动安装在开发终端或软件开发环境中的编译功能,开发人员还可以在图形界面的软件开发环境中选择编译功能选项以启动编译服务。
97.由于技术人员一般会先打开或选择所要进行编译的网站,再启动编译服务,因此,编译服务启动后,可以获取编译服务启动时软件开发环境中已经打开的网站标识,该网站
标识即为技术人员需要进行编译的网站对应的网站标识。此外,还可以在编译服务启动后向技术人员展示网站列表,以供技术人员选择所要编译的网站,再根据用户选择的网站确定网站标识。
98.运行在开发终端上的编译服务向编译端发送包含网站标识的编译请求,以指示需要编译端进行编译的网站。编译端接收到编译请求后,解析编译请求,获取编译请求中携带的网站标识,并通过该网站标识查询源代码管理端,从源代码管理端中获取网站标识对应的网站源代码,并对网站源代码进行编译操作,生成网站编译结果。
99.步骤202,检测所述编译端对所述网站的编译过程,并在确定所述编译端完成编译的情况下,从所述编译端获取网站编译结果。
100.开发人员在进行软件网站的开发时,会进入软件开发环境(software development environment,sde)对网站进行编写、管理等操作。软件开发环境是指在计算机硬件或操作系统的基础上,为支持软件网站的工程化开发和维护而使用的一组软件。软件开发环境一般可以分为命令行界面开发环境和图形界面开发环境。在命令行界面开发环境下,用户可以在开发终端输入部署命令以启动网页部署功能;在图形界面开发环境下,用户可以通过点击操作界面中的部署插件启动网页部署功能。终端可以是指运行有软件开发环境的计算机硬件,也可以指软件开发环境本身。
101.开发人员在软件开发环境中完成网站源代码的撰写,或对网站中的源代码进行更新后,可以先对网站进行编译操作,生成编译结果。
102.具体的,可以使用软件开发环境对网站进行编译操作,也可以使用包含有gitlab等源代码管理功能的编译端完成对网站的编译操作,本技术不做具体限定。
103.在使用编译端对网站进行编译操作时,为了使开发终端及时获取网站编译结果,避免用户长时间等待,还需要对编译端对网站的编译过程进行监控,并在确定编译结束后及时从编译端获取网站编译结果。
104.步骤203,响应于对所述网站中目标网页的部署指令,从所述网站编译结果中确定所述目标网页对应的目标网页编译结果。
105.开发人员可以在开发终端通过输入启动命令或点击相关启动按钮,启动对网站的部署流程。
106.在一种实施方式中,开发人员可以在进入网站后启动网站的部署服务,也就是说,启动网站的部署服务时,网站已在软件开发环境中打开,此时,网站部署功能会默认对开发人员已经打开的网站进行部署操作。举例来说,开发人员在命令行界面的软件开发环境中,打开网站撰写源代码,撰写完成之后在命令行界面输入编译命令,则完成对当前网站的编译操作,再在命令行界面输入部署命令,启动部署功能,对已经打开的网站进行部署操作。
107.在另一种实施方式中,开发人员可以在图形界面的软件开发环境中的启动部署服务,部署功能启动后,在软件开发环境中查询网站提交记录,并按照网站的提交顺序依次展示各个网站,用户通过选择确定要进行部署的网站。
108.参照图3,示出了本技术实施例提供的一种部署页面选择界面示意图。如图3所示,部署页面选择界面在开发终端展示,以供技术人员选择需要部署的页面。部署页面选择界面可以包括登录信息1、欢迎词2、选择提示词3、选择光标4、页面列表5以及使用方法提示6。
109.部署服务确定所要部署的网站后,获取网站对应的网站编译结果,并对网站编译
结果中的目录结构进行分析,确定网站编译结果中各个网页的页面编译结果的目录名称,将这些目录名称展示给用户,以供用户选择要进行部署的目标网页。部署服务确定所要部署的网站后,还可以直接在软件开发环境中查询网站对应各个网页的目录名称,将这些目录名称展示给用户,以供用户选择要进行部署的目标网页。
110.部署服务确定目标网页后,将网站编译结果中的非目标网页对应的编译结果删除,得到目标网页编译结果。其中,删除操作可以是针对目标编译结果中的非目标网页对应的目录和目录下的数据,也可以是仅针对目录下的数据,而保留目录。
111.步骤204,根据所述目标网页编译结果生成网页部署请求。
112.在开发终端上运行的部署服务确定目标网页编译结果后,还需要生成网页部署请求。网页部署请求用于通知服务端将目标网页部署在部署端上。网页部署请求至少包括目标网页编译结果或目标网页编译结果的获取地址。此外,网页部署请求还可以包括其他信息,以满足其他功能需求,例如,网页部署请求还可以包括开发终端标识、目标网页编译结果的哈希值等,以使服务端根据开发终端标识验证开发终端身份,根据目标网页编译结果的哈希值验证接收到的目标网页编译结果的文件完整性。
113.步骤205,将所述网页部署请求发送至服务端,所述服务端用于根据所述网页部署请求,部署所述目标网页。
114.网页部署请求需要包含目标网页编译结果,在一种实施方式中,开发终端可以直接将目标网页编译结果集成在网页部署请求中发送至服务端。在另一种实时方式中,开发终端可以将先将目标网页编译结果存储在本地存储器上或网络中的其它存储器上,将目标网页编译结果的存储地址集成在网页部署请求中,以使得服务端在接收到网页部署请求后,根据网页部署请求中的存储地址获取对应的目标网页编译结果。
115.综上,为本技术实施例提供的一种网站部署方法,本技术使得开发人员可以从网站选择部分网页对应性的页面编译结果,并通过向服务端发送该页面编译结果,实现对网站中部分网页进行增量部署,而无需重新部署整个网站,降低了部署网页消耗的时间成本和资源成本。
116.图4是本技术实施例提供的一种网页部署方法的具体交互步骤流程图,如图4所示,该方法包括:
117.步骤301,响应于对网站的编译指令,向编译端发送针对所述网站的编译请求,所述编译端用于接收所述编译请求,并对从源代码管理端拉取的所述网站的源代码进行编译。
118.此步骤可参见上述步骤201,本技术实施例在此不再赘述。
119.步骤302,检测所述编译端对所述网站的编译过程,并在确定所述编译端完成编译的情况下,从所述编译端获取网站编译结果。
120.此步骤可参见上述步骤202,本技术实施例在此不再赘述。
121.可选的,步骤302还可以包括:
122.子步骤3021,向所述源代码管理端发送源代码标识获取指令,获取所述网站的源代码标识,所述源代码标识用于指示在所述源代码管理端上存储的所述网站的源代码。
123.源代码管理端是一种软件开发网站源代码的托管平台,通过源代码管理端,多个开发人员可以同时对一个软件开发网站进行开发。技术人员在通过在本地开发终端撰写和
编辑源代码并提交到源代码管理端,实现对软件开发网站源代码的增加和修订。为了便于对不同版本的源代码进行管理,对于每一个软件开发网站的不同版本的源代码,源代码管理端均会生成对应的源代码标识。通过源代码标识,可以在源代码管理端中定位到不同软件开发网站的不同版本的源代码。
124.开发终端可以向源代码管理端发送源代码标识获取指令,来获取网站的最新版本的源代码标识,源代码标识获取指令中可以包含网站标识和开发终端地址,以便源代码管理端根据网站标识查询对应的源代码标识,并根据开发终端地址返回查询到的源代码标识。
125.子步骤3022,向所述编译端发送包含所述源代码标识的查询指令,所述编译端用于返回所述源代码标识对应的网站的编译状态,所述编译端中存储有从所述源代码管理端拉取的所述网站的源代码标识。
126.编译端在从源代码管理端拉取网站对应的最新版本源代码时,可以同时拉取对应的源代码标识。
127.开发终端可以向编译端发送包含源代码标识的查询指令,编译端接收到查询指令后,解析其中的源代码标识,并查询源代码标识对应的源代码在编译进程中所处的编译状态,将查询到的编译状态返回至开发终端,该状态至少包括完成状态和未完成状态。
128.子步骤3023,在所述编译状态为完成的情况下,确定所述编译端完成对所述网站的编译。
129.如果开发终端从编译端接收到了指示对网站源代码的编译状态为完成状态的信息之后,可以从编译端拉取网站的网站编译结果。当然,开发终端获取网站编译结果的过程还可以是:编译端在完成对网站的编译并生成网站编译结果后,可以直接向开发终端发送网站编译结果。
130.步骤303,接收开发终端发送的网页部署请求,所述网页部署请求包括:从网站编译结果中获取的目标网页对应的目标网页编译结果,以及所述网站对应的目标网站标识,所述网站编译结果由所述开发终端调用编译端对网站进行编译得到,所述目标网页为所述网站中的部分网页。
131.步骤304,根据所述目标鉴权信息确定所述登录账户的网站部署权限,所述网站部署权限包括授权所述登录账户部署的网站标识。
132.在网站完成部署后,一般会直接上线,可以通过网络访问,因此,网站的部署操作是非常关键的步骤,错误部署网站属于重大的开发事故,因此,服务端在接收到开发终端发送的网页部署请求后,需要对发送网页部署请求的开发终端进行鉴权,已确定该开发终端是否具有部署网页的权限,降低发生开发事故的隐患。
133.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。
134.可选的,步骤304可以包括:
135.子步骤3041,通过查询鉴权信息和账户标识的对应关系,确定所述目标鉴权信息对应的登录账户标识。
136.技术人员在开发终端输入登录信息以登录软件开发环境后,登录服务端获取到用户输入的登录信息后对用户身份进行验证,并在身份验证通过后向服务端发送登录用户对
应的鉴权信息,其中,登录服务端用于管理各个用户的登录信息,并对用户的登陆请求进行验证。
137.具体的,登录服务端可以对用户输入的账号和密码进行匹配性验证,在确用户输入的密码和账号相匹配的情况下,为登录用户生成jwt(json web token)认证字符串作为该登录用户的鉴权信息发送至开发终端。并在登录服务端本地存储登录账户标识和针对该登录用户生成的jwt认证字符串的对应关系。其中,jwt是一种轻量级的认证规范,其本质是一个令牌(token),是一种紧凑的url安全方法,可用于在网络通信的双方之间进行身份认证。
138.服务端接收的部署请求中可以包含发送该部署请求的登录用户对应的目标鉴权信息。服务端在接收到部署请求后,对部署请求进行解析,得到其中的目标鉴权信息,将目标鉴权信息发送至登录服务端,以使登录服务端根据对目标鉴权信息进行验证,登录服务端在验证通过后,根据鉴权信息和账户标识的对应关系,确定目标鉴权信息对应的登录账户标识,并将登录账户标识返回至服务端,如果登录服务端对目标鉴权信息没有验证通过,则向服务端返回目标鉴权信息验证失败的指示信息。
139.子步骤3042,通过查询账户标识与部署权限的对应关系,确定所述登录账户对应的网站部署权限。
140.在服务端中,还存储有账户标识与部署权限的对应关系,账户标识与部署权限的对应关系用于指示用户可以合法部署的网站。
141.在服务端获取到目标鉴权信息对应的登录账户标识之后,查询账户标识与部署权限的对应关系,确定登录用户对应的网站部署权限,网站部署权限中指示登录用户有权部署的网站标识。
142.步骤305,在所述网站部署权限包括所述目标网站标识的情况下,确定执行所述根据所述网页部署请求确定所述网站对应的部署端的步骤。
143.服务端确定出发送部署请求的登录用户对应的网站部署权限之后,需要将网站部署权限中的网站标识与目标网站标识进行比对,判断网站部署权限中的网站标识是否包含目标网站标识,如果网站部署权限中的网站标识包含目标网站标识,则说明发送部署请求的登录用户有权对部署请求中,目标网页编译结果对应的网站进行部署,则此时可以继续执行对目标网页的部署操作。而如果网站部署权限中的网站标识不包含目标网站标识,则说明发送部署请求的登录用户没有权对部署请求中,目标网页编译结果对应的网站进行部署,则此时可以中断部署流程。
144.步骤306,在所述网站部署权限不包括所述目标网站标识的情况下,中断部署流程。
145.步骤307,根据所述网页部署请求确定所述网站对应的部署端。
146.除上述步骤102中描述的方法之外,还可以采用以下子步骤3071至3073中的方法确定网站对应的部署端。
147.可选的,步骤307还可以包括:
148.子步骤3071,向源代码管理端发送包含所述目标网站标识的网站目录查询请求,并接收由所述源代码管理端返回的所述网站的网站目录,所述网站目录包括所述网站中所有网页的目录结构。
149.考虑到部署操作的重要性,为了进一步提升部署安全性,还可以对部署请求中的目标网页编译结果进行验证操作,已确定目标网页编译结果与对应的网站是否匹配。
150.具体的,可以在网页部署请求包含网站对应的目标网站标识,以指示所要部署的网站。服务端在接收到网页部署请求后,对网页部署请求进行解析并得到目标网站标识。
151.由于源代码管理端中存储有网站的完整源代码,因此服务端可以向源代码管理端发送包含目标网站标识的目录查询指令,以获取源代码管理端返回的目标网站标识对应的网站的网站目录结构。
152.子步骤3072,获取所述目标网页编译结果的编译结果目录,所述编译结果目录包括所述目标网页在所述网站中的目录结构。
153.子步骤3073,在所述编译结果目录与所述网站目录匹配的情况下,通过查询网站标识与地址的对应关系,确定所述目标网站标识对应的部署端地址。
154.由于网页部署请求中的目标网页编译结果是由网站经过编译生成的,因此目标网页编译结果中保留有网站的完整或部分目录结构。
155.举例来说,如果目标网页编译结果是由网站经过删除所有非目标网页对应的数据而得到的,则目标网页编译结果中保留了网站中的完整目录结构。如果目标网页编译结果是由删除网站中,所有非目标网页对应的数据和文件夹而得到的,则目标网页编译结果中保留了网站中目标网页的目录结构。
156.目标网页编译结果的编译结果目录应当可以与网站的网站目录匹配,即网站目录应当包含有编译结果目录。
157.因此,服务端可以将编译结果目录与网站目录进行比较,如果网站目录包含了编译结果目录,即网站目录中的部分或全部目录结构与编译结果目录的全部目录结构相同,则说明两者匹配,否则说明两者不匹配。
158.在编译结果目录与网站目录匹配的情况下,说明目标网页编译结果在数据结构上与网站匹配,可以确定目标网页编译结果确实是由网站经过编译得到的,可以在网站对应的部署端上进行部署,此时,服务端可以继续执行部署流程,可以通过查询本地或异地存储的网站标识与地址的对应关系,确定目标网站标识对应的部署端地址。
159.子步骤3074,在所述编译结果目录与所述网站目录不匹配的情况下,中断部署流程。
160.步骤308,向所述部署端发送所述目标网页编译结果和所述目标网站标识,所述部署端用于将所述目标网页编译结果,部署在所述目标网站标识对应的目标容器中。
161.在确定部署端地址后,向部署端地址发送网页部署请求中的目标网页编译结果,以使部署端对目标网页进行部署。
162.具体的,目标网页编译结果仅包含,由网站编译生成的网站编译结果中部分网页的编译结果,虽然目标网页编译结果中可能包含非目标网页的目录结构,但非目标网页的目录中数据为空,因此部署端可以使用目标网页编译结果直接对已经部署在部署端上的,上一版本的网站编译生成的编译结果进行覆盖操作,从而对已经部署在部署端上的目标网页进行更新,起到增量部署的效果。其中,增量部署是指在部署过程中,仅在部署端中更新网站中的增量部分,即目标网页。
163.进一步的,在本技术实施例中,网站可以部署在部署端上的docker容器中,docker
可以运行例如nginx等网页代理服务,网页代理服务可以为网站提供部署环境。
164.服务端在确定部署端的地址后,通过网络向部署端发送目标网站标识,以使部署端根据目标网站标识查询网站标识与容器的对应关系,确定目标网站标识部署的目标容器。
165.在一种实施方式中,服务端确定目标网站标识对应的目标容器后,通过网络向目标容器上运行的网页代理服务,发送包含目标网页编译结果的容器部署请求,以将目标网页部署在部署端上。
166.在另一种实施方式中,服务端可以将目标网页编译结果存放在网络存储器中,服务端仅向目标容器上运行的网页代理服务,发送包含目标网页编译结果在网络存储器中存放地址的容器部署请求,网页代理服务接收到容器部署请求后,通过该存放地址从网络存储器中获取目标网页编译结果并进行部署,并将该存放地址和部署记录存放在本地,这样,在目标容器出现掉电、重启等情况后,可以在恢复运行时根据该存放地址重新从网络存储器中获取目标网页编译结果并重新进行部署。
167.目标容器中还运行有渲染服务,目标容器在接收到目标网页编译结果后,将目标网页部署在目标容器中,并对目标网页进行渲染,同时清空缓存中原有的数据,将渲染结果存储在缓存中,由于目标网页是最近部署的页面,其可能属于最新的活动页面或宣传页面等时效性较强的页面,通常来说此类页面的访问量较高,因此将目标网页进行渲染并存储在速度较快的缓存中,可以提高使用者访问目标网页的速度,提升用户体验。
168.步骤309,向所述部署端发送所述登录账户标识,所述部署端用于接收所述登录账户标识,并在所述部署端完成对所述目标网页的部署后,向所述开发终端发送部署完成通知,所述部署完成通知包括所述目标网页的访问地址和网站部署版本号中的至少一个。
169.在服务端确定出部署端的地址后,还可以向部署端发送登录账户标识。部署端接收并存储登录账户标识,在完成对目标网页的部署之后,根据登录账户标识,向登录用户发送部署完成结果,部署完成结果可以包括部署后目标网页在网络上的访问地址,网站最新的部署版本号。
170.参照图5,示出了本技术实施例提供的一种开发终端部署完成界面示意图,如图5所示,对目标网页部署完成后,开发终端展示部署完成界面,界面中可以包括登录信息1、欢迎词2、部署的目标网页名称7、部署状态8、目标网页的访问地址9、部署版本号10以及部署结束提示信息11。
171.综上,为本技术实施例提供的一种网站部署方法,本技术使得开发人员可以从网站选择部分网页对应性的页面编译结果,并通过向服务端发送该页面编译结果,实现对网站中部分网页进行增量部署,而无需重新部署整个网站,降低了部署网页消耗的时间成本和资源成本。
172.与上述本发明的网站部署方法实施例所提供的方法相对应,参见图6,本发明还提供了一种服务端侧的网页部署装置实施例,在本实施例中,该装置可以包括:
173.接收模块401,被配置为接收开发终端发送的网页部署请求,所述网页部署请求包括:从网站编译结果中获取的目标网页对应的目标网页编译结果,以及所述网站对应的目标网站标识,所述网站编译结果由所述开发终端调用编译端对网站进行编译得到,所述目标网页为所述网站中的部分网页;
174.确定模块402,被配置为根据所述网页部署请求确定所述网站对应的部署端;
175.部署模块403,被配置为向所述部署端发送所述目标网页编译结果和所述目标网站标识,所述部署端用于将所述目标网页编译结果,部署在所述目标网站标识对应的目标容器中。
176.在一种可选实施方式中,所述网页部署请求还包括:目标鉴权信息,所述目标鉴权信息用于对所述开发终端的登录账户进行身份验证,所述接收开发终端发送的网页部署请求之后,所述装置还包括:
177.权限模块,被配置为根据所述目标鉴权信息确定所述登录账户的网站部署权限,所述网站部署权限包括授权所述登录账户部署的网站标识;
178.鉴权模块,被配置为在所述网站部署权限包括所述目标网站标识的情况下,确定执行所述根据所述网页部署请求确定所述网站对应的部署端的步骤;
179.中断模块,被配置为在所述网站部署权限不包括所述目标网站标识的情况下,中断部署流程。
180.在一种可选实施方式中,所述权限模块包括:
181.第一查询子模块,被配置为通过查询鉴权信息和账户标识的对应关系,确定所述目标鉴权信息对应的登录账户标识;
182.第二查询子模块,被配置为通过查询账户标识与部署权限的对应关系,确定所述登录账户对应的网站部署权限。
183.在一种可选实施方式中,所述确定模块包括:
184.第一目录子模块,被配置为向源代码管理端发送包含所述目标网站标识的网站目录查询请求,并接收由所述源代码管理端返回的所述网站的网站目录,所述网站目录包括所述网站中所有网页的目录结构;
185.第二目录子模块,被配置为获取所述目标网页编译结果的编译结果目录,所述编译结果目录包括所述目标网页在所述网站中的目录结构;
186.匹配子模块,被配置为在所述编译结果目录与所述网站目录匹配的情况下,通过查询网站标识与地址的对应关系,确定所述目标网站标识对应的部署端地址;
187.中断子模块,被配置为在所述编译结果目录与所述网站目录不匹配的情况下,中断部署流程。
188.在一种可选实施方式中,所述网页部署请求还包括:目标鉴权信息,所述装置还包括:
189.标识模块,被配置为通过查询鉴权信息和账户标识的对应关系,确定所述目标鉴权信息对应的登录账户标识;
190.标识发送模块,被配置为向所述部署端发送所述登录账户标识,所述部署端用于接收所述登录账户标识,并在所述部署端完成对所述目标网页的部署后,向所述开发终端发送部署完成通知,所述部署完成通知包括所述目标网页的访问地址和网站部署版本号中的至少一个。
191.综上,本技术实施例提供的一种网页部署装置,本技术可以接收开发终端发送的网页部署请求,网页部署请求包括:网站中目标网页对应的目标网页编译结果,目标网页为网站中的部分网页。根据网页部署请求确定网站对应的部署端。根据目标网页编译结果,在
部署端上部署目标网页。使得开发人员可以从网站选择部分网页对应性的页面编译结果,并通过向服务端发送该页面编译结果,实现对网站中部分网页进行增量部署,而无需重新部署整个网站,降低了部署网页消耗的时间成本和资源成本。
192.与上述本发明的网站部署方法实施例所提供的方法相对应,参见图7,本发明还提供了一种开发终端侧的网页部署装置实施例,在本实施例中,该装置可以包括:
193.编译模块501,被配置为响应于对网站的编译指令,向编译端发送针对所述网站的编译请求,所述编译端用于接收所述编译请求,并对从源代码管理端拉取的所述网站的源代码进行编译;
194.网站编译结果模块502,被配置为检测所述编译端对所述网站的编译过程,并在确定所述编译端完成编译的情况下,从所述编译端获取网站编译结果;
195.页面编译结果模块503,被配置为响应于对所述网站中目标网页的部署指令,从所述网站编译结果中确定所述目标网页对应的目标网页编译结果;
196.请求生成模块504,被配置为根据所述目标网页编译结果生成网页部署请求;
197.请求发送模块505,被配置为将所述网页部署请求发送至服务端,所述服务端用于根据所述网页部署请求,部署所述目标网页。
198.在一种可选实施方式中,所述网站编译结果模块包括:
199.标识获取子模块,被配置为向所述源代码管理端发送源代码标识获取指令,获取所述网站的源代码标识,所述源代码标识用于指示在所述源代码管理端上存储的所述网站的源代码;
200.源码获取子模块,被配置为向所述编译端发送包含所述源代码标识的查询指令,所述编译端用于返回所述源代码标识对应的网站的编译状态,所述编译端中存储有从所述源代码管理端拉取的所述网站的源代码标识;
201.编译完成子模块,被配置为在所述编译状态为完成的情况下,确定所述编译端完成对所述网站的编译。
202.综上,本技术实施例提供的一种网页部署装置,本技术可以接收开发终端发送的网页部署请求,网页部署请求包括:网站中目标网页对应的目标网页编译结果,目标网页为网站中的部分网页。根据网页部署请求确定网站对应的部署端。根据目标网页编译结果,在部署端上部署目标网页。使得开发人员可以从网站选择部分网页对应性的页面编译结果,并通过向服务端发送该页面编译结果,实现对网站中部分网页进行增量部署,而无需重新部署整个网站,降低了部署网页消耗的时间成本和资源成本。
203.图8是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
204.参照图8,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电力组件606,多媒体组件608,音频组件610,输入/输出(i/o)的接口612,传感器组件614,以及通信组件616。
205.处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模
块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
206.存储器604用于存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
207.电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
208.多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。
209.在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的分界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
210.在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
211.音频组件610用于输出和/或输入音频信号。例如,音频组件610包括一个麦克风(mic),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
212.i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
213.传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
214.通信组件616用于便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会
(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
215.在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于实现本技术实施例提供的一种网页部署方法。
216.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
217.图9是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图9,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行本技术实施例提供的一种网页部署方法。
218.电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(i/o)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
219.本技术实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的网页部署方法。
220.本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
221.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
转载请注明原文地址:https://win.8miu.com/read-1057796.html

最新回复(0)