一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

前端代码自动化部署方法、装置、服务器和存储介质与流程

2022-12-31 19:39:28 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体涉及一种前端代码自动化部署方法、装置、服务器和存储介质。


背景技术:

2.目前前端在代码部署时,需要在代码提交仓库(gitlab)、代码扫描(sonar)、静态资源构建(rms系统)以及需求管理系统(starlink)之间进行来回切换,从而实现前端代码的部署,使得代码部署流程繁琐,影响代码部署效率。


技术实现要素:

3.本发明实施例提供一种前端代码自动化部署方法、装置、服务器和存储介质,以提高前端代码部署的效率。
4.一方面,本发明实施例提供一种前端代码自动化部署方法,包括:
5.响应项目部署请求,调用代码库接口从代码提交仓库中获取所述项目部署请求对应的至少一组代码;
6.对至少一组所述代码进行代码合并,得到所述项目部署请求对应的待部署代码;
7.调用代码扫描接口对所述待部署代码进行扫描,得到扫描结果;
8.若所述扫描结果表征所述待部署代码扫描通过,则调用静态资源接口对所述待部署代码进行代码编译;
9.若代码编译未通过,则输出部署失败提示信息;
10.若代码编译通过,则部署编译后的待部署代码。
11.另一方面,本发明实施例提供一种前端代码自动化部署装置,所述装置包括:
12.代码获取模块,用于响应项目部署请求,调用代码库接口从代码提交仓库中获取所述项目部署请求对应的至少一组代码;
13.代码合并模块,用于对至少一组所述代码进行代码合并,得到所述项目部署请求对应的待部署代码;
14.代码扫描模块,用于调用代码扫描接口对所述待部署代码进行扫描,得到扫描结果;
15.代码编译模块,用于若所述扫描结果表征所述待部署代码扫描通过,则调用静态资源接口对所述待部署代码进行代码编译;
16.输出模块,用于若代码编译未通过,则输出部署失败提示信息;
17.部署模块,用于若代码编译通过,则部署编译后的待部署代码。
18.另一方面,本发明实施例提供一种服务器,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行上述的前端代码自动化部署方法中的操作。
19.另一方面,本发明实施例提供一种存储介质,所述存储介质存储有多条指令,所述
指令适于处理器进行加载,以执行上述的前端代码自动化部署方法中的步骤。
20.本发明实施例响应项目部署请求,调用代码库接口从代码提交仓库中获取项目部署请求对应的至少一组代码;对至少一组代码进行代码合并,得到项目部署请求对应的待部署代码;调用代码扫描接口对待部署代码进行扫描,得到扫描结果;若扫描结果表征待部署代码扫描通过,则调用静态资源接口对待部署代码进行代码编译;若代码编译未通过,则输出部署失败提示信息;若代码编译通过,则部署编译后的待部署代码;本发明实施例在代码部署过程中通过调用预设的接口调用实现代码部署,不需要在多个系统中间来回切换,如此节约了代码部署时间,从而提高了前端代码部署的效率。
附图说明
21.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本发明实施例提供的前端代码自动化部署系统的结构示意图;
23.图2是本发明实施例提供的前端代码自动化部署方法的流程示意图;
24.图3是本发明实施例提供的前端代码自动化部署装置的结构示意图;
25.图4是本发明实施例提供的服务器的结构示意图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.如背景技术,目前金融系统和银行系统的前端工作流程化系统非常繁多,操作繁琐,代码提交仓库(gitlab),代码扫描(sonar)、静态资源构建(rms系统),需求管理系统(starlink)。各种系统之间都是相互独立,不能自动串联,且各个系统功能庞大又繁琐,而在项目开发过程中,只需要用到其中的某一小部分功能,有时候只是为了改项目中的一个文字,都需要在众多的系统中来回切换操作才能一个需求的开发,造成项目开发的过程繁琐,使得项目从开发到上线之间的时间过长,降低了项目部署效率。
28.基于此,为了简化项目的开发的步骤,提高项目部署的效率,本发明实施例提供一种前端代码自动化部署方法,在代码部署过程中通过调用预设的接口调用实现代码部署,不需要在多个系统中间来回切换,如此节约了代码部署时间,从而提高了前端代码部署的效率。
29.如图1所示,图1是本发明实施例提供的前端代码自动化部署系统的结构示意图,所示的前端代码自动化部署系统包括部署子系统、代码提交仓库、代码扫描子系统、静态资源构建子系统和需求管理子系统。
30.其中,代码提交仓库、代码扫描子系统、静态资源构建子系统和需求管理子系统各自分别通过接口与部署子系统实现数据交互和数据读写,部署子系统通过接口调用代码提
交仓库、代码扫描子系统、静态资源构建子系统和需求管理子系统实现前端代码自动化部署。
31.在本发明一些实施例中,部署子系统、代码提交仓库、代码扫描子系统、静态资源构建子系统和需求管理子系统可以部署在同一个服务器中。
32.在本发明一些实施例中,部署子系统、代码提交仓库、代码扫描子系统、静态资源构建子系统和需求管理子系统可以部署在不同的服务器中,各个服务器之间通过网络实现通讯。在本发明一些实施例中,网络可以是因特网,也可以是任何网络,包括但不限于广域网、城域网、区域网、第三代合作伙伴计划(3rd generation partnership project,3gpp)、长期演进(long term evolution lte)、全球互通微波访问(worldwide interoperability for microwave access wimax)的移动通信,或基于tcp/ip协议族(tcp/ipprotocol suite tcp/ip)、用户数据报协议(user datagram protocol udp的计算机网络通信等。
33.在本发明一些实施例中,部署子系统通过运行已部署的前端代码自动化部署方法,通过接口调用代码提交仓库、代码扫描子系统、静态资源构建子系统和需求管理子系统实现前端代码自动化部署。
34.如图2所示,图2是本发明实施例提供的前端代码自动化部署方法的流程示意图,所示的前端代码自动化部署方法包括步骤201~206:
35.201,响应项目部署请求,调用代码库接口从代码提交仓库中获取项目部署请求对应的至少一组代码。
36.在本发明一些实施例中,代码提交仓库是用于存放代码的数据库,在本发明一些实施例中,代码提交仓库可以是本地数据库,还可以是部署在后台服务器上的数据库,其中后台服务器可以是为前端提供业务支持的后端服务器,其中前端业务可以是金融业务,也可以是银行业务。在本发明一些实施例中,代码提交仓库还可以是提供代码管理的代码管理系统,例如gitlab。
37.在本发明一些实施例中代码提交仓库中包括多个项目以及每个项目对应的至少一个分支,每一个分支对应一组代码。
38.在本发明一些实施例中,代码库接口可以是数据交互接口,调用代码库接口访问代码提交仓库,从代码提交仓库中读取项目部署请求对应的至少一组代码;代码库接口可以是地址链接,通过代码库接口确定代码提交仓库的访问地址,加载访问地址访问代码提交仓库,从代码提交仓库中读取项目部署请求对应的至少一组代码。
39.在本发明一些实施例中,项目部署请求用于请求代码部署系统进行项目部署,其携带有的待部署的目标项目的配置信息,其中待部署的目标项目的配置信息包括但不限于目标项目的名称、版本号、项目标识、项目的适配的操作系统、项目的内存等。
40.202,对至少一组代码进行代码合并,得到项目部署请求对应的待部署代码。
41.在本发明一些实施例中,在得到至少一组代码后,触发代码合并请求,调用代码库接口发送代码合并请求至代码提交仓库,代码提交仓库基于代码合并请求对项目部署请求对应的至少一组代码进行合并,通过代码库接口返回合并后的代码,将合并后的代码设置为项目部署请求对应的待部署代码。
42.在本发明一些实施例中,在得到至少一组代码后,触发代码合并操作,对至少一组代码进行代码合并,得到项目部署请求对应的待部署代码。
43.在本发明一些实施例中,可以根据每一组代码的标识信息对每组代码进行合并,得到项目部署请求对应的待部署代码。在本发明一些实施例中,每一组代码的标识信息可以每组代码的组名、类型、序号中的一中或多种。
44.203,调用代码扫描接口对待部署代码进行扫描,得到扫描结果。
45.在本发明一些实施例中,代码扫描接口用于调用代码扫描子系统对待部署代码进行扫描。其中,代码扫描子系统用于对代码进行质量评估。
46.在本发明一些实施例中,对待部署代码进行扫描包括但不限于对待部署代码进行复杂度分析、重复代码查询、单元测试统计、代码规则检查、代码注释率检查、代码异常预测以及代码结构检测。
47.在本发明一些实施例中,在监测到代码合并完成后,触发代码扫描操作,调用代码扫描接口以调用代码扫描子系统,通过代码扫描子系统对待部署代码进行扫描,得到扫描结果。
48.其中,复杂度分析用于检测待部署代码的时间复杂度和空间复杂度;重复代码查询用于检测待部署代码的是否存在重复的字段;单元测试统计用于统计并展示待部署代码中的测试代码的覆盖率;代码规则检查用于检测待部署代码是否符合编写规范;代码注释率检查用于确定待部署代码中已添加注释的代码数量在待部署代码的代码总数中的占比;代码异常预测用于确定待部署代码中是否存在异常;代码结构检测用于确定待部署代码中的循环调用,以及确定循环调用中的包与包、类与类之间的依赖是否存在异常。
49.在本发明一些实施例中,扫描结果包括但不限于待部署代码的复杂度分布、重复代码的数量、测试代码覆盖率、待部署代码中是否存在不符合编写规范的字段;注释率、待部署代码是否存在异常以及存在异常时异常类型和待部署代码中异常代码段、待部署代码中的循环调用是否存在异常。其中,复杂度分布用于表征待部署代码中各组代码的复杂程度。
50.在本发明一些实施例中,在扫描结果中出现待部署代码中存在复杂程度大于或等于预设程度阈值的代码,重复代码的数量大于或等于预设数量阈值,待部署代码中存在不符合编写规范的字段,测试代码覆盖率不满足预设覆盖率要求,注释率不满足预设注释率要求,待部署代码中存在异常,待部署代码中的循环调用存在异常一种或多种时,确定扫描结果表征待部署代码扫描未通过。
51.在本发明一些实施例中,在扫描结果中出现待部署代码中各组代码的复杂程度小于预设程度阈值,重复代码的数量小于预设数量阈值,待部署代码中不存在不符合编写规范的字段,测试代码覆盖率满足预设覆盖率要求,注释率满足预设注释率要求,待部署代码中不存在异常,且待部署代码中的循环调用不存在异常时,确定扫描结果表征待部署代码扫描通过。
52.在本发明一些实施例中,若测试代码覆盖率小于第一预设覆盖率,或大于第二预设覆盖率,则确定测试代码覆盖率不满足预设覆盖率要求;若测试代码覆盖率大于或等于第一预设覆盖率,且测试代码覆盖率小于或等于第二预设覆盖率,则确定测试代码覆盖率满足预设覆盖率要求。其中第一预设覆盖率小于第二预设覆盖率。
53.在本发明一些实施例中,若注释率小于第一预设注释率阈值,或大于第二预设注释率阈值,则确定注释率不满足预设注释率要求;若注释率大于或等于低于第一预设注释
率阈值,且注释率小于或等于第二预设注释率阈值,则确定注释率满足预设注释率要求。其中,第一预设注释率阈值小于第二预设注释率阈值。
54.在本发明一些实施例中,若扫描结果表征待部署代码扫描未通过,则输出提示信息,并根据扫描结果确定待部署代码扫描未通过的原因,输出待部署代码扫描未通过的原因,以使运维人员基于待部署代码扫描未通过的原因对待部署代码进行修改。
55.204,若扫描结果表征待部署代码扫描通过,则调用静态资源接口对待部署代码进行代码编译和代码部署。
56.在本发明一些实施例中,静态资源接口用于调用静态资源构建子系统,静态资源构建子系统用于代码编译。
57.在本发明一些实施例中,在监测到待部署代码扫描完成时,根据扫描结果确定待部署代码是否扫描通过,若待部署代码扫描通过,则触发编译请求,调用静态资源接口以调用静态资源构建子系统对待部署代码进行代码编译。
58.205,若代码编译未通过,则输出部署失败提示信息。
59.206,若代码编译通过,则部署编译后的待部署代码。
60.在本发明一些实施例中,监测待部署代码的编译结果,若监测到待部署代码编译通过,则调用静态资源接口以调用静态资源构建子系统部署编译后的待部署代码;若代码编译未通过,则输出部署失败提示信息。
61.本发明实施例在代码部署过程中通过调用预设的接口调用实现代码部署,不需要在多个系统中间来回切换,如此节约了代码部署时间,从而提高了前端代码部署的效率。
62.在本发明一些实施例中,为了保证数据安全,确保项目部署的准确性,运前端代码自动化部署系统中的部署子系统响应登录请求,并获取运维人员输入的用户信息,对用户信息进行核验,若用户信息核验通过,则进入部署子系统的系统页面。
63.在本发明一些实施例中,在部署子系统的系统页面中设置有多个按钮视图,每个按钮视图对应有接口;当监测到基于按钮视图输入接口调用操作时,调用按钮视图对应的接口进行数据交互。例如,当监测到基于代码库接口按钮视图输入接口调用操作时,调用代码库接口访问代码提交仓库。
64.在本发明一些实施例中,为了进一步保证数据安全,确保项目部署的准确性,在调用代码库接口访问代码提交仓库时,调用代码库接口发送预存口令至代码提交仓库,代码提交仓库对发送的预存口令进行核验,若核验通过,则根据预存口令确定用户信息对应的目标代码提交仓库,访问用户信息对应的目标代码提交仓库,获取项目部署请求对应的至少一组代码,若核验未通过,则返回错误信息。具体地,项目部署请求对应的至少一组代码的获取方法包括步骤a1~a4:
65.步骤a1,响应基于项目列表视图的项目选择操作,确定待部署的目标项目。
66.在本发明一些实施例中,项目列表视图中显示有项目列表,项目列表中包括至少一个可部署的项目。
67.在本发明一些实施例中,项目选择操作可以基于项目列表视图输入的触控操作,其中,触控操作包括但不限于点击操作、滑动操作;也可以是基于项目列表视图输入的项目标识。
68.在本发明一些实施例中,确定待部署的目标项目存在多种方式,示例性的包括:
69.(1)当项目选择操作是基于项目列表视图输入的触控操作时,根据触控操作在项目列表视图中的触控点,确定项目列表视图被选中的项目视图,获取项目列表视图被选中的项目视图对应的项目信息,根据项目列表视图被选中的项目视图对应的项目信息确定待部署的目标项目。其中,项目信息包括但不限于项目名称、项目标识。
70.(2)当项目选择操作是基于项目列表视图输入的项目标识时,获取基于项目列表视图输入的目标项目标识,将项目列表中项目标识与该目标项目标识一致的项目设置为待部署的目标项目。
71.需要说明的是,上述目标项目的确定方式仅为示例性说明,不构成对本发明提供的前端代码自动化部署方法的限定。本发明实施例可以基于实际应用场景选取目标项目的确定方式。
72.在本发明一些实施例中,可以通过调用代码库接口从代码提交仓库获取可部署的项目列表,在项目列表视图中显示可部署的项目列表,并响应基于项目列表视图中项目列表的项目选择操作,确定待部署的目标项目,具体地,目标项目的确定方法包括步骤b1~b4:
73.步骤b1,响应项目列表查看操作,获取预存口令,调用代码库接口发送预存口令至代码提交仓库,以使代码提交仓库基于预存口令进行安全核验。
74.在本发明一些实施例中,步骤b1包括:响应项目列表查看操作,根据用户信息查询是否存在用户信息关联的预存口令;若存在用户信息关联的预存口令,则获取预存口令,调用代码库接口发送预存口令至代码提交仓库,以使代码提交仓库基于预存口令进行安全核验;若不存在用户信息关联的预存口令,则进入口令配置页面进行口令配置,在口令配置完成后,调用代码库接口发送配置的预存口令至代码提交仓库,以使代码提交仓库基于预存口令进行安全核验。
75.在本发明一些实施例中,若不存在用户信息关联的预存口令,则进入口令配置页面,调用代码库接口发送口令配置请求至代码提交仓库,代码提交仓库响应口令配置请求,并通过代码库接口返回用户信息核验请求,响应代码提交仓库返回用户信息核验请求,获取基于口令配置页面输入的用户信息,调用代码库接口发送用户信息至代码提交仓库,代码提交仓库对接收到用户信息进行核验,在核验通过时,代码提交仓库生成口令,并将生成的口令与用户信息关联存储,返回生成的口令,接收代码提交仓库返回的口令,并将代码提交仓库返回的口令设置为预存口令,将预存口令与用户信息关联存储。
76.在本发明一些实施例中,代码提交仓库对接收到用户信息进行核验,在核验不通过时,返回提示信息,以使运维人员重新基于口令配置页面输入的用户信息,或者以使运维人员重新基于口令配置页面进行注册。
77.在本发明一些实施例中,若不存在用户信息关联的预存口令,则进入口令配置页面,获取运维人员基于口令配置页面输入的预存口令,调用代码库接口发送预存口令至代码提交仓库,以使代码提交仓库基于预存口令进行安全核验。
78.在本发明一些实施例中,为了保证数据传输的安全性,可以对预存口令进行加密,得到预存口令的密文,调用代码库接口发送预存口令的密文至代码提交仓库。需要说明的是,本发明实施例对预存口令的加密方式不做限定,例如可以是对称加密方式,也可以是非对称加密方式,还可以是哈希计算。
79.在本发明一些实施例中,代码提交仓库在接收到预存口令时,根据用户信息获取用户信息关联的目标口令,将目标口令与预存口令进行比对;若目标口令与预存口令一致,则确定预存口令核验通过,返回核验通过消息;若目标口令与预存口令不一致,则确定预存口令核验不通过,返回核验未通过消息。
80.在本发明一些实施例中,若接收到代码提交仓库返回的核验未通过消息,则输出用户验证页面,获取基于用户验证页面输入的用户信息,调用代码库接口发送用户信息至代码提交仓库,代码提交仓库对接收到用户信息进行核验,在核验通过时,返回核验通过信息。
81.在本发明一些实施例中,代码提交仓库在核验通过时,根据预存口令访问代码提交库中与该预存口令关联的目标代码数据存储区,读取目标代码数据存储区中存储的项目列表。在本发明一些实施例中,代码提交库包括多个代码数据存储区,每个代码数据存储区的访问地址关联有口令,每个代码数据存储区中存储有项目列表、至少一个项目以及每个项目包括至少一个分支代码。
82.步骤b2,若接收到代码提交仓库返回的核验通过消息,则调用代码库接口从代码提交仓库中获取项目列表,在项目列表视图中显示项目列表。
83.在本发明一些实施例中,若接收到代码提交仓库返回的核验通过消息,则调用代码库接口从代码提交仓库中获取项目列表,进入项目列表展示页面,输出项目列表视图,在项目列表视图中显示项目列表。
84.步骤b3,响应基于项目列表视图中项目列表的项目选择操作,确定在项目列表中的被选择项目。
85.在本发明一些实施例中,响应基于项目列表视图中项目列表的项目选择操作,按照步骤a1根据项目选择操作,确定在项目列表中的被选择项目。
86.步骤b4,将项目列表中的被选择项目设置为待部署的目标项目。
87.步骤a2,响应基于待部署的目标项目的项目部署请求,获取预存口令。其中,预存口令为验证信息,用于指示代码提交仓库基于预存口令进行安全核验。
88.在本发明一些实施例中,在确定待部署的目标项目后,输出部署设置页面,在部署设置页面中设有功能按钮,当监测到功能按钮被触控时,响应基于待部署的目标项目的项目部署请求,获取预存口令。在本发明一些实施例中,功能按钮可以部署按钮。
89.步骤a3,生成代码请求,调用代码库接口发送代码请求和预存口令至代码提交仓库。其中,代码请求用于指示代码提交仓库基于预存口令进行安全核验后返回目标项目对应的代码。
90.在本发明一些实施例中,步骤a3包括:获取目标项目的目标项目信息,根据目标项目信息生成代码请求,调用代码库接口发送预存口令和代码请求至代码提交仓库,代码提交仓库在接收到预存口令和代码请求时,对预存口令进行核验;若预存口令核验通过,则响应代码请求,获取代码请求中的目标项目信息,根据目标项目信息从预存口令关联的目标代码数据存储区中获取项目信息与该目标项目信息一致的目标项目的每个分支对应的代码,并通过代码库接口返回至少一组代码。
91.步骤a4,基于代码库接口获取代码提交仓库基于代码请求返回的项目部署请求对应的至少一组代码。
92.本发明实施例在获取项目部署请求对应的至少一组代码,通过代码库接口调用代码提交仓库,不需要单独切换到代码提交仓库,减少由于系统切换造成的代码获取步骤繁琐的问题,并在代码获取中通过预存口令进行安全核验,提高数据传输的安全性。
93.在本发明一些实施例中,在得到项目部署请求对应的至少一组代码,通过步骤202对至少一组代码进行代码合并,得到项目部署请求对应的待部署代码。
94.在本发明一些实施例中,监测代码合并完成后,触发代码扫描请求,调用代码扫描接口调用代码扫描子系统对待部署代码进行扫描,得到扫描结果。
95.在本发明一些实施例中,监测代码合并完成后,输出合并完成的提示信息,以使运维人员输入扫描请求操作,触发代码扫描请求,进入扫描页面,调用代码扫描接口调用代码扫描子系统对待部署代码进行扫描,输出扫描页面视图,并在扫描页面视图上显示扫描结果。
96.在本发明一些实施例中,调用代码扫描接口调用代码扫描子系统对待部署代码进行扫描,调用代码扫描接口查询代码扫描子系统的扫描结果,输出扫描页面视图,并在扫描页面视图上显示扫描结果。
97.在本发明一些实施例中,可以每间隔预设时长调用代码扫描接口发送扫描结果查询请求至代码扫描子系统,代码扫描子系统接收到扫描结果查询请求,查看待部署代码是否扫描完成,若扫描完成,则响应扫描结果查询请求,返回扫描结果;若扫描未完成,则不响应扫描结果查询请求。
98.在本发明一些实施例中,每间隔预设时长调用代码扫描接口发送扫描结果查询请求至代码扫描子系统,若接收到代码扫描子系统返回的扫描结果,则停止发送扫描结果查询请求,确定扫描结果是否表征待部署代码扫描通过;若扫描结果表征待部署代码扫描通过,则调用静态资源接口对待部署代码进行代码编译;若扫描结果表征待部署代码扫描未通过,则输出扫描未通过的提示信息,根据扫描结果确定扫描未通过的原因,输出扫描未通过的原因,以使运维人员基于扫描未通过的原因对待部署代码进行修改;若未接收到代码扫描子系统返回的扫描结果,则继续间隔预设时长调用代码扫描接口发送扫描结果查询请求至代码扫描子系统,直至接收到代码扫描子系统返回的扫描结果。
99.在本发明一些实施例中,在调用代码扫描接口对待部署代码进行扫描时,可以根据步骤203中的扫描方式对待部署代码进行扫描,得到扫描结果。
100.在本发明一些实施例中,为了确定目标项目部署后是否满足开发需求,可以在调用代码扫描接口对待部署代码进行扫描时,根据目标项目的开发需求确定待部署代码是否满足目标项目的开发需求,确定待部署代码的扫描结果,具体地,代码扫描方法包括步骤c1~c4:
101.步骤c1,调用需求管理接口获取项目部署请求对应的理论扫描参数。
102.在本发明一些实施例中,理论扫描参数用于表征项目部署请求对应的目标项目的开发需求,其包括但不限于目标项目中代码的预设注释率阈值、编写规则、代码的预设重复率阈值、目标项目的运行环境、目标项目的功能、以及目标项目的性能参数。其中目标项目的运行环境包括但不限于的目标项目的版本参数、运行的操作系统类型等,目标项目的功能包括但不限于目标项目所具有的界面视图、通信接口、数据接口,目标项目的性能参数包括但不限于目标项目的复杂度、数据处理精度等。
103.在本发明一些实施例中,在监测到代码合并完成后,调用需求管理接口以调用需求管理子系统,获取目标项目的目标项目信息关联的目标项目需求列表,解析目标需求项目列表的需求数据,得到项目部署请求对应的理论扫描参数。在本发明一些实施例中,需求管理子系统中包括多个项目信息,以及每个目标项目信息关联的项目需求列表,每个项目需求列表中存储有项目的需求数据。在本发明一些实施例中,需求数据包括但不限于项目的功能需求、性能需求等。其中,功能需求用于描述项目需要达到的功能,例如银行数据查询功能、银行业务搜索功能等;性能需求用于标识项目运行时性能,其包括但不限于数据处理量、cup使用率、内存、数据处理精度等。
104.步骤c2,调用代码扫描接口对待部署代码进行扫描,得到待部署代码的实际扫描参数,将实际扫描参数与理论扫描参数进行比对。
105.步骤c3,若实际扫描参数与理论扫描参数一致,则确定扫描结果为待部署代码扫描通过。
106.步骤c4,若实际扫描参数与理论扫描参数不一致,则确定扫描结果为待部署代码扫描未通过。
107.在本发明一些实施例中,在得到理论扫描参数后,调用代码扫描接口将待部署代码和理论扫描参数发送至代码扫描子系统,并调用代码扫描接口以调用代码扫描子系统对待部署代码进行扫描。
108.在本发明一些实施例中,在监测到代码合并完成后,触发代码扫描请求,调用代码扫描接口以调用扫描子系统对待部署代码进行扫描,得到待部署代码的实际扫描参数,并调用需求管理接口获取项目部署请求对应的理论扫描参数,并调用代码扫描接口将理论扫描参数发送至扫描子系统,以调用扫描子系统将实际扫描参数与理论扫描参数进行比对,根据比对结果确定扫描结果,当接收到扫描结果查询请求时,响应扫描结果查询请求,返回扫描结果。
109.在本发明一些实施例中,在监测到扫描子系统扫描得到实际扫描参数时,调用代码扫描接口获取实际扫描参数,将实际扫描参数与理论扫描参数进行比对,根据比对结果确定扫描结果。
110.在本发明一些实施例中,若实际扫描参数与理论扫描参数不一致,则确定扫描结果为待部署代码扫描未通过,输出扫描未通过的提示信息,并根据实际扫描参数与理论扫描参数的比对结果,确定扫描未通过的原因,输出扫描未通过的原因,以使运维人员对待部署代码进行修改。
111.在本发明一些实施例中,若实际扫描参数与理论扫描参数不一致,则确定扫描结果为待部署代码扫描未通过,输出扫描未通过的提示信息,并根据实际扫描参数与理论扫描参数的比对结果实际扫描参数中与目标扫描参数不一致的目标字段,输出实际扫描参数中与目标扫描参数不一致的目标字段。
112.在本发明一些实施例中,若实际扫描参数与理论扫描参数一致,则确定扫描结果为待部署代码扫描通过,触发代码编译操作,调用静态资源接口对待部署代码进行代码编译。
113.在本发明一些实施例中,在监测到待部署代码扫描通过时,触发代码编译操作,调用静态资源接口发送代码编译请求至静态资源构建子系统,静态资源构建子系统响应代码
编译请求,对待部署代码进行编译,监测编译结果,若代码编译通过,则部署编译后的待部署代码,若代码编译未通过,则输出部署失败的提示信息。
114.在本发明一些实施例中,对待部署代码进行编译包括:对待部署代码进行预处理,将处理后的待部署代码进行编译测试,检测待部署代码是否存在漏洞,若不存在漏洞,则根据编译后的待部署代码进行部署。在本发明一些实施例中,预处理包括但不限于宏转换、去除空行、去除注释等。具体地,代码编译方法包括:
115.(1)调用静态资源接口对待部署代码进行编译测试,确定待部署代码是否存在漏洞。
116.(2)若待部署代码不存在漏洞,则确定代码编译通过。
117.(3)若待部署代码存在漏洞,则确定代码编译未通过。
118.在本发明一些实施例中,调用静态资源接口以调用静态资源构建子系统对待部署代码进行预处理,检查预处理后的待部署代码的规范性、是否存在语法错误;若预处理后的待部署代码规范,并且不存在语法错误,则将预处理后的待部署代码编译成汇编代码,形成可执行的目标文件,并确定待部署代码不存在漏洞,返回代码编译通过的提示信息,在接收到静态资源构建子系统返回的代码编译通过的提示信息时,触发代码部署操作,通过部署编译生成的目标文件实现待部署代码的部署。若预处理后的待部署代码不规范,和/或存在语法错误,则确定待部署代码存在漏洞,返回代码编译不通过的提示信息,在接收到静态资源构建子系统返回的代码编译不通过的提示信息时,输出部署失败提示信息。
119.在本发明一些实施例中,在监测到代码编译通过时,调用静态资源接口获取静态资源构建子系统基于待部署代码编译得到的可执行的目标文件,部署可执行的目标文件实现待部署代码的部署。
120.在本发明一些实施例中,在监测到代码编译不通过时,输出部署失败提示信息,调用静态资源接口访问静态资源构建子系统,确定待部署代码编译不通过的原因,并输出待部署代码编译不通过的原因。
121.在本发明一些实施例中,在监测到待部署代码部署完成时,解析待部署代码中的类文件,确定待项目部署请求对应的目标项目调用的接口参数,确定执行目标项目对应的代码时需要调用的接口,上报接口参数至接口管理系统中。其中,接口管理系统用于实现接口的监测、异常监控、测试等。
122.本发明实施例提供的前端代码自动化部署方法在代码部署过程中通过调用预设的接口调用实现代码部署,不需要在多个系统中间来回切换,如此节约了代码部署时间,从而提高了前端代码部署的效率。
123.为了更好实施本发明实施例提供的前端代码自动化部署方法,在前端代码自动化部署方法实施例基础上,本发明实施例提供一种前端代码自动化部署装置,如图3所示,图3是本发明实施例提供的前端代码自动化部署装置的结构示意图,所示的前端代码自动化部署装置包括:
124.代码获取模块,用于响应项目部署请求,调用代码库接口从代码提交仓库中获取项目部署请求对应的至少一组代码;
125.代码合并模块,用于对至少一组代码进行代码合并,得到项目部署请求对应的待部署代码;
126.代码扫描模块,用于调用代码扫描接口对待部署代码进行扫描,得到扫描结果;
127.代码编译模块,用于若扫描结果表征待部署代码扫描通过,则调用静态资源接口对待部署代码进行代码编译;
128.输出模块,用于若代码编译未通过,则输出部署失败提示信息;
129.部署模块,用于若代码编译通过,则部署编译后的待部署代码。
130.在本发明一些实施例中,代码获取模块,用于:
131.响应基于项目列表视图的项目选择操作,确定待部署的目标项目;
132.响应基于待部署的目标项目的项目部署请求,获取预存口令;预存口令为验证信息;
133.根据预存口令生成代码请求,调用代码库接口发送代码请求至代码提交仓库;代码请求用于指示代码提交仓库基于预存口令进行安全核验后返回目标项目对应的代码;
134.基于代码库接口获取代码提交仓库基于代码请求返回的项目部署请求对应的至少一组代码。
135.在本发明一些实施例中,代码获取模块,用于:
136.响应项目列表查看操作,获取预存口令,调用代码库接口发送预存口令至代码提交仓库,以使代码提交仓库基于预存口令进行安全核验;
137.若接收到代码提交仓库返回的核验通过消息,则调用代码库接口;
138.从代码提交仓库中获取项目列表,在项目列表视图中显示项目列表;
139.响应基于项目列表视图中项目列表的项目选择操作,确定在项目列表视图中项目列表的被选择的项目;
140.将项目列表中的被选择的项目设置为待部署的目标项目。
141.在本发明一些实施例中,代码扫描模块,用于:
142.调用需求管理接口获取项目部署请求对应的理论扫描参数;
143.调用代码扫描接口对待部署代码进行扫描,得到待部署代码的实际扫描参数,将实际扫描参数与理论扫描参数进行比对;
144.若实际扫描参数与理论扫描参数一致,则确定扫描结果为待部署代码扫描通过;
145.若实际扫描参数与理论扫描参数不一致,则确定扫描结果为待部署代码扫描未通过。
146.在本发明一些实施例中,输出模块,用于:
147.输出扫描未通过的提示信息,并显示实际扫描参数中与目标扫描参数不一致的目标字段。
148.在本发明一些实施例中,代码编译模块,用于:
149.调用静态资源接口对待部署代码进行编译测试,确定待部署代码是否存在漏洞;
150.若待部署代码不存在漏洞,则确定代码编译通过;
151.若待部署代码存在漏洞,则确定代码编译未通过。
152.在本发明一些实施例中,部署模块,用于:
153.解析待部署代码中的类文件,确定待部署代码所对应的项目调用的接口参数,接口参数用于确定执行待部署代码时调用的接口。
154.本发明实施例提供的前端代码自动化部署装置在代码部署过程中通过调用预设
的接口调用实现代码部署,不需要在多个系统中间来回切换,如此节约了代码部署时间,从而提高了前端代码部署的效率。
155.本发明实施例还提供一种服务器,如图4所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
156.该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
157.其中:
158.处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
159.存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
160.服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
161.该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
162.尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
163.响应项目部署请求,调用代码库接口从代码提交仓库中获取项目部署请求对应的至少一组代码;
164.对至少一组代码进行代码合并,得到项目部署请求对应的待部署代码;
165.调用代码扫描接口对待部署代码进行扫描,得到扫描结果;
166.若扫描结果表征待部署代码扫描通过,则调用静态资源接口对待部署代码进行代码编译;
167.若代码编译未通过,则输出部署失败提示信息;
168.若代码编译通过,则部署编译后的待部署代码。
169.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
170.为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种前端代码自动化部署方法中的步骤。例如,该指令可以执行如下步骤:
171.响应项目部署请求,调用代码库接口从代码提交仓库中获取项目部署请求对应的至少一组代码;
172.对至少一组代码进行代码合并,得到项目部署请求对应的待部署代码;
173.调用代码扫描接口对待部署代码进行扫描,得到扫描结果;
174.若扫描结果表征待部署代码扫描通过,则调用静态资源接口对待部署代码进行代码编译;
175.若代码编译未通过,则输出部署失败提示信息;
176.若代码编译通过,则部署编译后的待部署代码。
177.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
178.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
179.由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种前端代码自动化部署方法中的步骤,因此,可以实现本发明实施例所提供的任一种前端代码自动化部署方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
180.以上对本发明实施例所提供的一种前端代码自动化部署方法、装置、服务器和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献