项目开发的联调方法、装置、计算机设备及存储介质与流程
未命名
07-23
阅读:109
评论:0
1.本发明涉及项目开发配置领域,特别涉及一种项目开发的联调方法、装置及计算机设备、计算机存储介质。
背景技术:
2.软件市场迭代频繁,服务化成为目前最广泛的架构方案,在项目开发的过程中,开发人员需要在开发时面对大量不同的硬件支持、不同的系统项目、不同的环境甚至不同的安全策略、环境隔离策略等等,针对不同的场景需要逐一适配开发所需的配置,过程繁琐、效率低,另外,开发完成后还需要将代码打包部署发布到测试环境来进行联调,反复发布代码的流程时间成本高,使得项目开发配置复杂、项目开发及项目联调效率低。
技术实现要素:
3.本发明的目的在于提供一种项目开发的联调方法、装置及计算机设备、计算机存储介质,以至少解决项目联调的服务、环境配置复杂、效率低的问题。
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.本发明创造实施例的有益效果是:通过在开发测试环境的服务端构建不同开发项目所需要的服务以及开发环境,然后基于容器原理创建所述开发项目的项目镜像,其中,所述项目镜像包含项目开发所需的服务以及项目启动环境,即在服务端保存有各个开发项目对应的项目镜像,当开发用户通过其客户端发起项目开发请求,所述项目开发请求中还包含开发用户的用户唯一标识,响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器,启动镜像的容器相当于将所述镜像进行解压缩,从而呈现打包镜像前的开发项目的资源,包括服务资源、环境资源、脚本工具等,再将启动后的所述目标容器与所述用户唯一标识进行绑定,生成项目链接,所述项目链接为开发用户访问并使用项目服务与开发环境的唯一通道,响应于所述开发用户访问所述项目链接,然后启动所述目标容器对应的项目镜像,即启动目标容器得到的所述项目镜像内迁至开发页面中,以web的形式展示所述项目镜像包含的资源,包括开发应用程序、服务、环境等资源,以
通过所述开发页面上使用所述项目服务与所述项目启动环境,从而使得开发人员通过所述开发页面使用项目服务与所述项目启动环境,即通过浏览器操作服务端上开发项目对应的服务与测试环境的代码,然后进行联和开发、调试,可以减少针对开发人员客户端的服务、环境配置的步骤,提高项目开发的资源配置效率,提高项目联和开发、调试、测试的便捷性。
附图说明
65.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
66.图1为本技术一个具体实施例的项目开发的联调方法的基本流程示意图;
67.图2为本技术一个具体实施例的项目开发的联调装置的基本结构示意图;
68.图3为本技术一个具体实施例的计算机设备的基本结构框图。
具体实施方式
69.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
70.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
71.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
72.本技术领域技术人员可以理解,这里所使用的“终端”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personal communications service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personal digital assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(global positioning system,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobile internet device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
73.本技术所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
74.需要指出的是,本技术所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本技术的网络部署方式的实施方式。
75.本技术的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
76.本技术中所引用或可能引用到的神经网络模型,除非明文指定,既可部署于远程服务器且在客户端实施远程调用,也可部署于设备能力胜任的客户端直接调用,某些实施例中,当其运行于客户端时,其相应的智能可通过迁移学习来获得,以便降低对客户端硬件运行资源的要求,避免过度占用客户端硬件运行资源。
77.本技术所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本技术的技术方案所调用即可。
78.本领域技术人员对此应当知晓:本技术的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本技术所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
79.本技术即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本技术的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
80.请参阅图1,图1为本实施例项目开发的联调方法的基本流程示意图。
81.如图1所示,包括:
82.s1100、获取基于容器原理创建的项目镜像,其中,所述项目镜像包含项目服务与项目启动环境;
83.本实施方式中,在开发测试环境的服务端构建不同开发项目所需要的服务以及开发环境,然后基于容器原理创建所述开发项目的项目镜像,镜像可以理解为一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像,即在服务端构建了开发项目所需的服务以及开发环境等资源后,基于容器原理创建一个囊括该开发项目所有资源集合的副本,定义为开发项目的项目镜像,其中,所述项目镜像包含项目开发所需的服务以及开发环境,所述开发环境包括项目启动环境,当需要针对开发人员分配开发项目时,不需要再逐一地为开发人员所使用的客户端进行服务与环境的配置,而是通过服务端进行统一联调,为了将服务端创建的项目镜像分配给各个开发人员所使用的客户端,获取基于容器原理创建
的项目镜像。
84.需要指出的是,本实施例基于容器原理创建项目镜像可以通过一台或多台具有相应权限的设备构建开发项目相关的服务与环境对应的代码资源,当开发项目相关的服务与环境的代码资源构建完成后,基于容器原理创建相应的项目镜像,进一步的,所述代码资源支持具有相应权限的设备进行编辑、修改、删除,可以维护各个开发项目的资源准确性。
85.需要指出的是,在一种实施场景中,不同的开发项目的服务与环境对应的代码资源是不同的,在构建完开发项目的服务与环境对应的代码资源后,服务端上针对每一个不同的开发项目存储对应的服务与环境的代码资源;在另一种实施场景中,不同的开发项目中,存在相同或大致相同的服务或环境,当一个开发项目的服务或环境构建完成后,可以通过适应性地修改所述服务或环境的代码资源,使得所述服务或环境适配另一个开发项目,避免重复构建相同或大致相同的服务与环境。
86.在一种应用场景中,当服务端上的开发项目的服务与环境对应的代码资源修改时,实时更新所述开发项目对应的项目镜像,即基于容器原理将更新后的服务与环境对应的代码资源生成项目镜像,并更新原有的项目镜像。
87.s1200、接收开发用户发起的项目开发请求,其中,所述项目开发请求中包含用户唯一标识;
88.在获取基于容器原理创建的项目镜像之后,服务端保存有各个开发项目对应的项目镜像,当开发用户通过其客户端发起项目开发请求,所述项目开发请求用于请求服务端分配对应的开发项目的资源,即分配对应的开发项目的项目镜像,进一步的,所述项目开发请求中还包含开发用户的用户唯一标识,所述用户唯一标识可以是开发用户的客户端标识、开发用户的账户标识、开发用户的身份标识等任意一项,需要指出的是,所述用户唯一标识也可以是其他形式的可以表征唯一性的特征信息。
89.需要指出的是,所述开发用户发起的项目开发请求可以通过浏览器进行发起,通过访问指定的url访问服务端,并向服务端发起项目开发请求。
90.需要指出的是,所述项目开发请求具有时效性,当所述项目开发请求超出预设时长并且服务端没有响应时,则此次的项目开发请求视作失效状态。
91.s1300、响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器;
92.在接收开发用户发起的项目开发请求之后,响应于所述项目开发请求,将所述项目镜像进行实例化,实例化的项目镜像相当于启动所述项目镜像对应的目标容器,即容器理解为镜像的实例,启动镜像的容器相当于将所述镜像进行解压缩,从而呈现打包镜像前的开发项目的资源,包括服务资源、环境资源、脚本工具等,其中,所述脚本工具包括code-server工具,所述code-server工具可以使用脚本对各个项目镜像进行容器化移植,可以不断的复制一个个可供开发人员使用的联调环境。
93.需要指出的是,在接收到开发用户发起的项目开发请求之后,通过验证所述开发用户的身份信息,当所述开发用户的身份信息验证通过后,才响应所述开发用户发起的项目开发请求。
94.需要指出的是,所述将所述项目镜像进行实例化的一种实施方式,针对不同开发用户的项目开发请求,将所述项目镜像进行一次实例化,生成一个目标容器;即使是不同开
发用户针对同一个开发项目的项目开发请求,仍然是生成多个目标容器。
95.s1400、将所述目标容器与所述用户唯一标识进行绑定,生成项目链接;
96.在响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器后,将所述目标容器与所述用户唯一标识进行绑定,生成项目链接,即将所述目标容器与开发用户进行关联绑定,针对每一个不同的开发用户生成并分配唯一的目标容器,然后生成项目链接,所述项目链接为开发用户访问并使用项目服务与开发环境的唯一通道。
97.需要指出的是,当所述目标容器与所述用户唯一标识进行绑定生成项目链接之后,若其他开发用户访问所述项目链接,由于用户唯一标识不匹配,可以配置其他开发用户无法访问所述项目链接。
98.s1500、响应于所述开发用户访问所述项目链接对应的开发页面,启动所述目标容器对应的项目镜像,以通过所述开发页面上使用所述项目服务与所述项目启动环境。
99.将所述目标容器与所述用户唯一标识进行绑定,生成项目链接之后,响应于所述开发用户访问所述项目链接,打开所述项目链接对应的开发页面,然后启动所述目标容器对应的项目镜像,即启动目标容器得到的所述项目镜像内迁至开发页面中,以web的形式展示所述项目镜像包含的资源,包括开发应用程序、服务、环境等资源,以通过所述开发页面上使用所述项目服务与所述项目启动环境。其中,所述开发页面包括webide页面,webide页面定义为通过网页加载开发的界面,在本实施方式中,将各种开发应用程序如idea、eclipse嵌入到所述开发网页中,所述开发页面上的各种开发应用程序实际运行是在服务端,而在开发页面上只提供展示和交互功能,从而使得开发人员通过所述开发页面使用项目服务与所述项目启动环境,即通过浏览器操作服务端上的开发项目代码,启动开发项目对应的服务与测试环境然后进行联和开发、调试,可以减少针对开发人员客户端的服务、环境配置的步骤,提高项目开发的资源配置效率,提高项目联和开发、调试、测试的便捷性。
100.上述实施方式中,通过在开发测试环境的服务端构建不同开发项目所需要的服务以及开发环境,然后基于容器原理创建所述开发项目的项目镜像,其中,所述项目镜像包含项目开发所需的服务以及项目启动环境,即在服务端保存有各个开发项目对应的项目镜像,当开发用户通过其客户端发起项目开发请求,所述项目开发请求中还包含开发用户的用户唯一标识,响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器,启动镜像的容器相当于将所述镜像进行解压缩,从而呈现打包镜像前的开发项目的资源,包括服务资源、环境资源、脚本工具等,再将启动后的所述目标容器与所述用户唯一标识进行绑定,生成项目链接,所述项目链接为开发用户访问并使用项目服务与开发环境的唯一通道,响应于所述开发用户访问所述项目链接,然后启动所述目标容器对应的项目镜像,即启动目标容器得到的所述项目镜像内迁至开发页面中,以web的形式展示所述项目镜像包含的资源,包括开发应用程序、服务、环境等资源,以通过所述开发页面上使用所述项目服务与所述项目启动环境,从而使得开发人员通过所述开发页面使用项目服务与所述项目启动环境,即通过浏览器操作服务端上开发项目对应的服务与测试环境的代码,然后进行联和开发、调试,可以减少针对开发人员客户端的服务、环境配置的步骤,提高项目开发的资源配置效率,提高项目联和开发、调试、测试的便捷性。
101.在一些实施方式中,s1300中响应于所述项目开发请求,将所述项目镜像进行实例
化以启动所述项目镜像对应的一个目标容器,包括:
102.s1311、响应于所述项目开发请求,获取所述项目开发请求的请求接口;
103.在一种实施方式中,在响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的一个目标容器时,不同的开发用户从客户端发起的项目开发请求的方式不同,所请求的内容也不同,并且,服务端可以是分布式的服务端,不同的服务端分布存储不同的项目镜像,当接收到所述项目开发请求,响应于所述项目开发请求,首先识别并获取所述项目开发请求的请求接口,不同的请求接口所指向的服务端不同,或者不同的请求接口可以触发不同的项目镜像的分配。
104.需要指出的是,所述请求接收可以是根据用户唯一标识进行匹配,例如,针对不同部门的开发用户的项目开发请求,分配不同的请求接口,不同的请求接口可以指向获取不同的项目镜像,从而提高项目开发资源分配的准确性。
105.s1312、根据所述请求接口获取预配置的容器分配脚本;
106.在确定所述项目开发请求的请求接口,根据所述请求接口获取预配置的容器分配脚本,所述容器分配脚本包括配置如何将项目镜像进行实例化的自动化脚本,不同请求接口对应不同的容器分配脚本,不同的容器分配脚本可以对不同的项目镜像进行实例化。
107.s1313、根据所述容器分配脚本将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器。
108.在根据所述请求接口获取预配置的容器分配脚本之后,根据所述容器分配脚本将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器,自动化脚本对所述项目镜像进行实例化,从而启动所述项目镜像对应的目标容器,将所述项目镜像进行解压缩,得到构建所述项目镜像时的资源,作为开发用户所请求使用的项目资源的一个实例化的容器,能够保证开发用户请求的项目开发资源与实际相匹配。
109.本实施方式通过识别项目开发请求中不同的请求接口,再根据所述请求接口获取预配置的容器分配脚本,通过所述容器分配脚本对项目镜像进行实例化,得到项目镜像包含的资源,针对不同的开发请求、不同的请求接口分配不同的项目开发资源,从而提高项目开发资源分配的准确性。
110.在一些实施方式中,s1400将所述目标容器与所述用户唯一标识进行绑定,生成项目链接,包括:
111.s1411、获取所述请求接口中的指定端口;
112.在将所述目标容器与所述用户唯一标识进行绑定,生成项目链接,获取所述请求接口中的指定端口,所述指定端口可以是开发用户的客户端对外访问的端口,当开发用户的客户端发起项目开发请求时,所述指定端口被携带在所述项目开发请求中,通过指定端口的限定,可以限定客户端的访问。
113.s1412、根据所述指定端口将所述目标容器与所述用户唯一标识进行绑定,生成项目链接。
114.在获取所述请求接口中的指定端口之后,根据所述指定端口将所述目标容器与所述用户唯一标识进行绑定,生成项目链接,所述指定端口限定了能够访问项目链接的出口端口,通过指定端口的限定,可以限定访问所述项目链接的方式,提高开发项目的内容的安全性。
115.本实施方式通过指定端口与用户唯一标识的绑定,再生成项目链接,使得项目链接包含所述指定端口与所述用户唯一标识,通过所述指定端口与所述用户唯一标识限定访问所述项目链接的方式,保证服务端中开发项目的数据的安全性。
116.在一些实施方式中,s1300响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器之后,还包括:
117.s1321、根据所述用户唯一标识获取相应的目标项目服务;
118.在响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器之后,由于不同的开发用户所需要的服务不同,例如针对模块a的开发用户,其所需要的项目服务为f1,针对模块b的开发用户,其所需要的项目服务为f2,因此,根据所述用户唯一标识获取相应的目标项目服务。
119.s1322、获取所述目标项目服务的项目信息。
120.在根据所述用户唯一标识获取相应的目标项目服务之后,获取所述目标项目服务的项目信息,即所述目标项目所包含的代码资源。
121.s1323、将所述目标项目服务的项目信息装载至所述目标容器中。
122.在获取所述目标项目服务的项目信息之后,将所述目标项目服务的项目信息装载至所述目标容器中,在容器中装载开发用户所需要的目标服务的资源,以及相应的环境资源,而不需要将服务端上所有的项目服务资源全部装载至目标容器内。
123.本实施方式通过根据所述用户唯一标识获取相应的目标项目服务,获取所述目标项目服务的项目信息,将所述目标项目服务的项目信息装载至所述目标容器中,不需要将服务端上所有的项目服务资源全部装载至目标容器内,一方面提高资源装载的效率,另一方面可以避免其他不相关的资源的泄露,保证数据的安全性。
124.在一些实施方式中,所述s1300响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器之后,还包括:
125.s1331、将所述项目镜像包含的所述项目服务装载至所述目标容器中;
126.在访响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器之后,将所述项目镜像包含的所述项目服务装载至所述目标容器中,具体的,将项目镜像包含的项目服务资源均装载至目标容器,同样的,对于环境资源也装载至目标容器内。
127.s1332、根据所述用户唯一标识获取每一个所述项目服务的权限;
128.在将所述项目镜像包含的所述项目服务装载至所述目标容器中之后,根据所述用户唯一标识获取每一个所述项目服务的权限,由于不同的开发用户所需要的服务不同,例如针对模块a的开发用户,其所需要的项目服务为f1,针对模块b的开发用户,其所需要的项目服务为f2,因此,根据所述用户唯一标识获取开发用户相应的每一个项目服务的权限。
129.s1333、根据所述权限配置所述目标容器中各个项目服务的调用权限;
130.在获取每一个所述项目服务的权限之后,根据所述权限配置所述目标容器中各个项目服务的调用权限,通过无条件的循环语句可以依次执行分页查询语句,并在执行完一次的分页查询语句后,再重新执行分页查询语句,直至所述获取到的数据为空后结束循环。
131.本实施方式通过配置用户对每一个项目服务的访问权限,限制开发用户对不同项目服务的使用,并且还可以适时地调整开发用户对项目服务的权限,提高项目服务使用的
灵活性与便捷性。
132.在一些实施方式中,s1500响应于所述开发用户访问所述项目链接对应的开发页面,启动所述目标容器对应的项目镜像,以通过所述开发页面上使用所述项目服务与所述项目启动环境之后,还包括:
133.s1511、接收所述目标容器的回收指令;
134.在响应于所述开发用户访问所述项目链接对应的开发页面,启动所述目标容器对应的项目镜像,以通过所述开发页面上使用所述项目服务与所述项目启动环境之后,服务端可以针对已分配的容器进行回收,在一种实施场景下,当开发用户对项目服务的使用期限到期后,对所述开发用户所分配的目标容器进行回收,接收所述目标容器的回收指令。
135.s1512、将所述目标容器对应的项目链接配置为脱机状态,以限制对所述目标链接的访问。
136.当接收到所述回收指令后,将所述目标容器对应的项目链接配置为脱机状态,以限制对所述目标链接的访问,而如果后续需要再次分配容器,可以再次启动相应的容器以及将所述容器的项目链接配置为在机状态,从而方便对项目服务进行管理,提高项目联调开发的便捷性。
137.本实施方式通过配置容器回收指令,不需要手动地限制开发用户对项目服务的使用,通过目标容器的回收以限制相应的项目链接的访问,在紧急场景下,可以实现对项目权限的一键回收,方便对项目服务进行管理,提高项目联调开发的便捷性。
138.在一些实施方式中,s1100获取基于容器原理创建的项目镜像,其中,所述项目镜像包含项目服务与项目启动环境,包括:
139.s1111、从服务注册中心拉取已注册的项目服务;
140.在获取基于容器原理创建的项目镜像,其中,所述项目镜像包含项目服务与项目启动环境,服务端还与服务注册中心进行连接,可以从服务注册中心拉取已注册的项目服务,服务注册中心可以提供项目服务的上传、保存与联调使用,当需要使用服务注册中心中的项目服务时,可以适时地从服务注册中心提取相应的项目服务后生成项目镜像,具体如下。
141.s1112、基于容器原理创建项目服务的项目镜像,其中,所述项目镜像包含已注册的项目服务、预配置的项目服务以及项目启动环境;
142.在从服务注册中心拉取已注册的项目服务之后,基于容器原理创建项目服务的项目镜像,其中,所述项目镜像包含已注册的项目服务、预配置的项目服务以及项目启动环境,即项目镜像不仅包含服务端中预配置的项目服务、项目启动环境外,还包含服务注册中心中已注册的项目服务,例如,注册中心中已注册的项目服务为低频使用的项目服务,不需要所有开发项目均配置,而如果开发项目中需要配置该些低频使用的项目服务时,则可以从服务注册中心拉取已注册的项目服务,避免项目服务的重复构建。
143.s1113、保持与所述服务注册中心的连接,以实时更新所述项目镜像;
144.在基于容器原理创建项目服务的项目镜像之后,服务端保持与所述服务注册中心的连接,以实时更新所述项目镜像,即如果拉取的项目服务存在更新时,服务端可以通过与所述服务注册中心的连接,实时地更新包含已注册的项目服务的所述项目镜像。
145.s1114、获取更新后的项目镜像;
146.在更新所述项目镜像之后,获取更新后的项目镜像,再基于更新后的项目镜像分配至目标容器,以供开发用户进行使用。
147.本实施方式通过服务端与服务注册中心保持连接,可以从服务注册中心拉取已注册的项目服务作为项目镜像中的资源,并且保持所述与服务注册中心的连接,保持已注册的项目服务的更新,再基于更新后的项目镜像中的资源生成目标容器分配给开发用户,从而提高项目开发联调的资源丰富度,以及项目开发联调的服务使用的便捷性。
148.具体请参阅图2,图2为本实施例项目开发的联调装置基本结构示意图。
149.如图2所示,一种项目开发的联调装置,包括:镜像获取模块1100、请求接收模块1200、镜像实例化模块1300、访问链接模块1400和网页联调模块1500。其中,镜像获取模块1100,用于获取基于容器原理创建的项目镜像,其中,所述项目镜像包含项目服务与项目启动环境;请求接收模块1200,用于接收开发用户发起的项目开发请求,其中,所述项目开发请求中包含用户唯一标识;镜像实例化模块1300,用于响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器;访问链接模块1400,用于将所述目标容器与所述用户唯一标识进行绑定,生成项目链接;网页联调模块1500,用于响应于所述开发用户访问所述项目链接对应的开发页面,启动所述目标容器对应的项目镜像,以通过所述开发页面上使用所述项目服务与所述项目启动环境。
150.上述的项目开发的联调装置通过在开发测试环境的服务端构建不同开发项目所需要的服务以及开发环境,然后基于容器原理创建所述开发项目的项目镜像,其中,所述项目镜像包含项目开发所需的服务以及项目启动环境,即在服务端保存有各个开发项目对应的项目镜像,当开发用户通过其客户端发起项目开发请求,所述项目开发请求中还包含开发用户的用户唯一标识,响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器,启动镜像的容器相当于将所述镜像进行解压缩,从而呈现打包镜像前的开发项目的资源,包括服务资源、环境资源、脚本工具等,再将启动后的所述目标容器与所述用户唯一标识进行绑定,生成项目链接,所述项目链接为开发用户访问并使用项目服务与开发环境的唯一通道,响应于所述开发用户访问所述项目链接,然后启动所述目标容器对应的项目镜像,即启动目标容器得到的所述项目镜像内迁至开发页面中,以web的形式展示所述项目镜像包含的资源,包括开发应用程序、服务、环境等资源,以通过所述开发页面上使用所述项目服务与所述项目启动环境,从而使得开发人员通过所述开发页面使用项目服务与所述项目启动环境,即通过浏览器操作服务端上开发项目对应的服务与测试环境的代码,然后进行联和开发、调试,可以减少针对开发人员客户端的服务、环境配置的步骤,提高项目开发的资源配置效率,提高项目联和开发、调试、测试的便捷性。
151.可选地,所述镜像实例化模块1300还用于:
152.响应于所述项目开发请求,获取所述项目开发请求的请求接口;
153.根据所述请求接口获取预配置的容器分配脚本;
154.根据所述容器分配脚本将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器。
155.可选地,所述访问链接模块1400还用于:
156.获取所述请求接口中的指定端口;
157.根据所述指定端口将所述目标容器与所述用户唯一标识进行绑定,生成项目链
接。
158.可选地,所述镜像实例化模块1300还用于:
159.根据所述用户唯一标识获取相应的目标项目服务;
160.获取所述目标项目服务的项目信息;
161.将所述目标项目服务的项目信息装载至所述目标容器中。
162.可选地,所述镜像实例化模块1300还用于:
163.将所述项目镜像包含的所述项目服务装载至所述目标容器中;
164.根据所述用户唯一标识获取每一个所述项目服务的权限;
165.根据所述权限配置所述目标容器中各个项目服务的调用权限。
166.可选地,所述网页联调模块1500还用于;
167.接收所述目标容器的回收指令;
168.将所述目标容器对应的项目链接配置为脱机状态,以限制对所述目标链接的访问。
169.可选地,所述镜像获取模块1100还用于:
170.从服务注册中心拉取已注册的项目服务;
171.基于容器原理创建项目服务的项目镜像,其中,所述项目镜像包含已注册的项目服务、预配置的项目服务以及项目启动环境;
172.保持与所述服务注册中心的连接,以实时更新所述项目镜像;
173.获取更新后的项目镜像。
174.为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图3,图3为本实施例计算机设备基本结构框图。
175.如图3所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种交易凭证上链法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种项目开发的联调方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
176.本实施方式中处理器用于执行图2中镜像获取模块1100、请求接收模块1200、镜像实例化模块1300、访问链接模块1400和网页联调模块1500的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有项目开发的联调装置中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
177.计算机设备通过在开发测试环境的服务端构建不同开发项目所需要的服务以及开发环境,然后基于容器原理创建所述开发项目的项目镜像,其中,所述项目镜像包含项目开发所需的服务以及项目启动环境,即在服务端保存有各个开发项目对应的项目镜像,当
开发用户通过其客户端发起项目开发请求,所述项目开发请求中还包含开发用户的用户唯一标识,响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器,启动镜像的容器相当于将所述镜像进行解压缩,从而呈现打包镜像前的开发项目的资源,包括服务资源、环境资源、脚本工具等,再将启动后的所述目标容器与所述用户唯一标识进行绑定,生成项目链接,所述项目链接为开发用户访问并使用项目服务与开发环境的唯一通道,响应于所述开发用户访问所述项目链接,然后启动所述目标容器对应的项目镜像,即启动目标容器得到的所述项目镜像内迁至开发页面中,以web的形式展示所述项目镜像包含的资源,包括开发应用程序、服务、环境等资源,以通过所述开发页面上使用所述项目服务与所述项目启动环境,从而使得开发人员通过所述开发页面使用项目服务与所述项目启动环境,即通过浏览器操作服务端上开发项目对应的服务与测试环境的代码,然后进行联和开发、调试,可以减少针对开发人员客户端的服务、环境配置的步骤,提高项目开发的资源配置效率,提高项目联和开发、调试、测试的便捷性。
178.本技术还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例项目开发的联调方法的步骤。
179.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
180.本技术领域技术人员可以理解,本技术中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本技术中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本技术中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
181.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
技术特征:
1.一种项目开发的联调方法,其特征在于,包括:获取基于容器原理创建的项目镜像,其中,所述项目镜像包含项目服务与项目启动环境;接收开发用户发起的项目开发请求,其中,所述项目开发请求中包含用户唯一标识;响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器;将所述目标容器与所述用户唯一标识进行绑定,生成项目链接;响应于所述开发用户访问所述项目链接对应的开发页面,启动所述目标容器对应的项目镜像,以通过所述开发页面上使用所述项目服务与所述项目启动环境。2.根据权利要求1所述的项目开发的联调方法,其特征在于,所述响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的一个目标容器,包括:响应于所述项目开发请求,获取所述项目开发请求的请求接口;根据所述请求接口获取预配置的容器分配脚本;根据所述容器分配脚本将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器。3.根据权利要求2所述的项目开发的联调方法,其特征在于,所述将所述目标容器与所述用户唯一标识进行绑定,生成项目链接,包括:获取所述请求接口中的指定端口;根据所述指定端口将所述目标容器与所述用户唯一标识进行绑定,生成项目链接。4.根据权利要求1所述的项目开发的联调方法,其特征在于,所述响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器之后,还包括:根据所述用户唯一标识获取相应的目标项目服务;获取所述目标项目服务的项目信息;将所述目标项目服务的项目信息装载至所述目标容器中。5.根据权利要求1所述的项目开发的联调方法,其特征在于,所述响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器之后,还包括:将所述项目镜像包含的所述项目服务装载至所述目标容器中;根据所述用户唯一标识获取每一个所述项目服务的权限;根据所述权限配置所述目标容器中各个项目服务的调用权限。6.根据权利要求1所述的项目开发的联调方法,其特征在于,所述响应于所述开发用户访问所述项目链接对应的开发页面,启动所述目标容器对应的项目镜像,以通过所述开发页面上使用所述项目服务与所述项目启动环境之后,还包括:接收所述目标容器的回收指令;将所述目标容器对应的项目链接配置为脱机状态,以限制对所述目标链接的访问。7.根据权利要求1所述的项目开发的联调方法,其特征在于,所述获取基于容器原理创建的项目镜像,其中,所述项目镜像包含项目服务与项目启动环境,包括:从服务注册中心拉取已注册的项目服务;基于容器原理创建项目服务的项目镜像,其中,所述项目镜像包含已注册的项目服务、预配置的项目服务以及项目启动环境;
保持与所述服务注册中心的连接,以实时更新所述项目镜像;获取更新后的项目镜像。8.一种项目开发的联调装置,其特征在于,包括:镜像获取模块,用于获取基于容器原理创建的项目镜像,其中,所述项目镜像包含项目服务与项目启动环境;请求接收模块,用于接收开发用户发起的项目开发请求,其中,所述项目开发请求中包含用户唯一标识;镜像实例化模块,用于响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器;访问链接模块,用于将所述目标容器与所述用户唯一标识进行绑定,生成项目链接;网页联调模块,用于响应于所述开发用户访问所述项目链接对应的开发页面,启动所述目标容器对应的项目镜像,以通过所述开发页面上使用所述项目服务与所述项目启动环境。9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述项目开发的联调方法的步骤。10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述项目开发的联调方法的步骤。
技术总结
本申请公开一种项目开发的联调方法、装置、计算机设备及存储介质,包括:获取基于容器原理创建的项目镜像,其中,所述项目镜像包含项目服务与项目启动环境;接收开发用户发起的项目开发请求,其中,所述项目开发请求中包含用户唯一标识;响应于所述项目开发请求,将所述项目镜像进行实例化以启动所述项目镜像对应的目标容器;将所述目标容器与所述用户唯一标识进行绑定,生成项目链接;响应于所述开发用户访问所述项目链接对应的开发页面,启动所述目标容器对应的项目镜像,以通过所述开发页面上使用所述项目服务与所述项目启动环境。通过配置的服务与环境对应的镜像,快速地将项目开发所需的服务与环境配置到开发人员的机器上,提高开发效率。提高开发效率。提高开发效率。
技术研发人员:徐双
受保护的技术使用者:平安壹钱包电子商务有限公司
技术研发日:2023.04.11
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
