CN112115056B - 一种项目部署方法和装置、服务器、存储介质 - Google Patents
一种项目部署方法和装置、服务器、存储介质 Download PDFInfo
- Publication number
- CN112115056B CN112115056B CN202011008486.5A CN202011008486A CN112115056B CN 112115056 B CN112115056 B CN 112115056B CN 202011008486 A CN202011008486 A CN 202011008486A CN 112115056 B CN112115056 B CN 112115056B
- Authority
- CN
- China
- Prior art keywords
- target
- item
- project
- server
- configuration file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000011161 development Methods 0.000 claims abstract description 66
- 238000012360 testing method Methods 0.000 claims description 36
- 230000001419 dependent effect Effects 0.000 claims description 28
- 238000012986 modification Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 26
- 230000010354 integration Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开关于一种项目部署方法和装置、服务器、存储介质,涉及网络技术领域,能够提高项目开发的效率。该方法包括:获取目标项目及其项目名称;根据目标项目在服务器中安装目标依赖包,并将其链接至目标项目;为目标项目随机分配目标端口;目标端口为服务器上的任一未被占用的可用端口;根据目标端口、项目名称和服务器的预设配置参数生成目标配置文件并运行,以使目标配置文件生效;将目标端口、项目名称和预设项目路径暴露给目标项目,并重启目标项目;预设项目路径用于指示目标项目在服务器上的位置。
Description
技术领域
本公开实施例涉及网络技术领域,尤其涉及一种项目部署方法和装置、服务器、存储介质。
背景技术
在Web开发中,项目开发完成后均需要进行测试,而测试前的项目部署(将项目代码部署到测试环境中)是一个必经的过程。项目部署的越快,才能使得整个项目开发过程效率更高。对于项目开发而言,通常同一项目是多人协作开发的,而由于每个人的开发习惯和内容不同,在需要测试时建立的测试环境也是不同的,所以对于一个项目整个的开发过程而言,往往需要建立多个不同的测试环境用于部署项目并测试,而每一套测试环境的建立流程(测试环境的建立和项目的部署是合在一起进行的)中,因为大都需要开发人员手动配置(例如域名需要开发人员手动分配),所以造成整个流程较为繁琐,不能很快对项目进行部署,使得整个项目开发的效率不高。
发明内容
本公开关于一种项目部署方法和装置、服务器、存储介质,能够快速部署项目,提高项目开发的效率。
为达到上述目的,本公开实施例采用如下技术方案:
第一方面,本公开提供一种项目部署方法,包括:获取目标项目和目标项目的项目名称;根据目标项目在服务器中安装目标依赖包,并将目标依赖包链接至目标项目;为目标项目随机分配目标端口;目标端口为服务器上的任一未被占用的可用端口;根据目标端口、项目名称和服务器的预设配置参数生成目标配置文件,并运行目标配置文件,以使目标配置文件生效;将目标端口、项目名称和预设项目路径暴露给目标项目,并重启目标项目;预设项目路径用于指示目标项目在服务器上的位置。
可选的,目标配置文件中包括目标项目对应的目标域名,且目标配置文件用于表明目标域名和目标端口的对应关系;该方法还包括:向开发客户端发送所述目标域名;所述开发客户端为开发所述目标项目的终端。
可选的,获取目标项目和目标项目的项目名称包括:通过目标接口接收目标项目和目标项目的项目名称。
可选的,根据目标项目安装目标依赖包,并将目标依赖包链接至目标项目包括:当确定目标接口为第一接口时,根据目标项目安装目标依赖包,并将目标依赖包链接至目标项目。
可选的,根据目标项目安装目标依赖包,并将目标依赖包链接至目标项目包括:当确定目标接口为第二接口时,删除服务器中与目标项目的项目名称相同的历史项目,并将历史项目对应的历史依赖包作为目标依赖包链接至目标项目。
进一步可选的,当目标接口为第二接口时,将历史项目对应的历史依赖包作为目标依赖包链接至目标项目之后,还包括:将历史项目对应的历史端口、项目名称和预设项目路径暴露给目标项目,并重启目标项目。
可选的,将目标依赖包链接至目标项目包括:将目标依赖包软链接至目标项目。
可选的,根据目标端口、项目名称和预设配置参数生成目标配置文件包括:根据目标端口和项目名称,生成第一配置信息;第一配置信息的用于指示目标项目的可用端口为目标端口;根据项目名称和预设配置参数,生成目标项目对应的目标域名;根据第一配置信息和项目名称生成目标配置文件;目标配置文件包括目标域名和第一配置信息的关联关系。
可选的,重启目标项目之后,还包括:向开发客户端发送目标配置文件;响应于开发客户端的修改指令,修改目标配置文件,以得到更新后的目标配置文件;对更新后的目标配置文件进行测试,当确定更新后的目标配置文件测试通过时,运行更新后的目标配置文件作为配置文件。
可选的,目标配置文件为服务器中安装的网站服务器的配置文件。
第二方面,本公开提供一种项目部署装置,包括:获取模块、管理模块、端口分配模块、配置模块和启动模块。其中,获取模块,被配置为执行获取目标项目和目标项目的项目名称;管理模块,被配置为根据获取模块获取的目标项目在服务器中安装目标依赖包,并将目标依赖包链接至目标项目;端口分配模块,被配置为获取模块获取的目标项目随机分配目标端口;目标端口为服务器上的任一未被占用的可用端口;配置模块,被配置为根据端口分配模块分配的目标端口、获取模块获取的项目名称和服务器的预设配置参数生成目标配置文件,并运行目标配置文件,以使目标配置文件生效;启动模块,被配置为将预设项目路径、端口分配模块分配的目标端口和获取模块获取的项目名称暴露给目标项目,并重启目标项目。
可选的,该装置还包括发送模块;目标配置文件中包括目标项目对应的目标域名,且目标配置文件用于表明目标域名和目标端口的对应关系;发送模块,被配置为向开发客户端发送配置模块生成的目标配置文件中的目标域名;开发客户端为开发目标项目的终端。
可选的,获取模块具体被配置为:通过目标接口接收目标项目和目标项目的项目名称。
可选的,管理模块具体被配置为:当确定目标接口为第一接口时,根据获取模块获取的目标项目安装目标依赖包,并将目标依赖包链接至目标项目。
可选的,管理模块具体被配置为:当确定目标接口为第二接口时,删除服务器中与目标项目的项目名称相同的历史项目,并将历史项目对应的历史依赖包作为目标依赖包链接至目标项目。
进一步可选的,启动模块还被配置为:当管理模块确定目标接口为第二接口时,将历史项目对应的历史端口、预设项目路径和获取模块获取的项目名称暴露给目标项目,并重启目标项目。
可选的,管理模块具体被配置为将目标依赖包软链接至目标项目。
可选的,配置模块具体被配置为:根据端口分配模块分配的目标端口和获取模块获取的项目名称,生成第一配置信息;第一配置信息的用于指示目标项目的可用端口为目标端口;根据项目名称和预设配置参数,生成目标项目对应的目标域名;根据第一配置信息和项目名称生成目标配置文件;目标配置文件包括目标域名和第一配置信息的关联关系。
可选的,该项目部署装置还包括修改模块;发送模块还被配置为在启动模块重启目标项目后,向开发客户端发送配置模块生成的目标配置文件;修改模块,被配置为响应于开发客户端的修改指令,修改目标配置文件,以得到更新后的目标配置文件;管理模块,还被配置为对更新后的目标配置文件进行测试,当确定更新后的目标配置文件测试通过时,运行更新后的目标配置文件。
第三方面,本公开提供一种服务器,该服务器包括处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面提供及其任一种可能的实施方式的项目部署方法。
第四方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器执行如第一方面提供及其任一种可能的实施方式的项目部署方法。
第五方面,本申请实施例还提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以在计算机上运行,使得计算机执行如第一方面及其任一种可能的实施方式的项目部署方法。
可以理解的,本公开提供的技术方案中,首先获取目标项目和目标项目的项目名称(具体是获取到用于测试项目的服务器中),而后可以根据目标项目在服务器上安装目标项目后续在运行时需要使用到的目标依赖包,同时将两者链接,使得后续目标项目运行时可以直接通过链接调用;再然后,为目标项目随机分配一个服务器上端口,供其后续运行测试时使用;而后,可以根据目标端口、项目名称和服务器的预设配置参数生成目标配置文件并运行使其生效;再然后,将目标端口、项目名称、预设项目路径暴露给目标项目后启动该目标项目,从而使目标项目可以顺利在服务器上运行。综上,因为本公开实施例提供的技术方案可以在项目部署过程中全称自动设定相关配置,从而使得项目部署过程更快速,进而开发人员也可以更快的对项目进行测试,提高了项目开发整个过程的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1为本公开实施例提供一种实施环境示意图;
图2为本公开实施例提供一种项目部署方法的流程示意图一;
图3为本公开实施例提供一种项目部署方法的流程示意图二;
图4为本公开实施例提供一种项目部署方法的流程示意图三;
图5为本公开实施例提供一种项目部署方法的流程示意图四;
图6为本公开实施例提供的一种项目部署方法的流程示意图五;
图7为本公开实施例提供的一种项目部署装置的结构示意图;
图8为本公开实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
另外,在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本公开实施例的描述中,“多个”是指两个或多于两个。
首先,对本公开所涉及的技术术语进行介绍:
Web(world wide web,全球广域网),是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。
HTTP(hyper text transfer protocol,超文本传输协议):指一种网络协议,是一个客户端与服务器请求和应答的标准。
JavaScript:简称“JS”,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。常被作为开发Web页面的脚本语音。
Node.Js:一种使JavaScript运行在服务端的环境平台。
node_modules:Node.Js的依赖包。
依赖包:程序运行时必须的数据包。
Web服务器:是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、Nginx、IIS。
Nginx:一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP(internetmail access protocol,交互邮件访问协议)/POP3(post office protocol-version 3,邮局协议版本3)/SMTP(simple mail transfer protocol,简单邮件传输协议)服务。
硬链接:硬链接就是一个文件的一个或多个文件名。把文件名和计算机文件系统使用的节点号链接起来。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。硬链接只能对已存在的文件进行创建,不能交叉文件系统进行硬链接的创建。
软连接:又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。软链接可对不存在的文件或目录创建软链接;可交叉文件系统。
Export命令:liunx系统中设置或显示环境变量的命令。
持续集成工具:一种能够提供持续集成(CI,Continuous integration)功能的工具。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
参照图1所示,为本公开提供的技术方案可能涉及的实施环境示意图。该实施环境,可以包括开发客户端01和服务器02,开发客户端01通过有线通讯方式或无线通讯方式与服务器02通信。
示例性的,本公开实施例中的开发客户端01可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以进行项目开发的设备,本申请实施例对该终端的具体形态不作特殊限制。
示例性的,本公开中的服务器02可以是一台服务器,也可以是多台服务器组成的服务器集群,或者是一个云计算服务中心,本公开对此不做限定。服务器02主要用于接收开发终端发送的项目,并运行该项目,同时提供给开发客户端一个可以对该项目进行访问的域名。
目前,在项目开发过程中的测试阶段,需要将项目部署到相应的测试环境(例如安装有Linux系统的服务器)中,但是在现有技术中,这个过程中的流程获步骤大都需要人为手动操作(例如分配域名),因而造成项目的步骤不够快速,也就造成整个项目开发的效率不高。
针对上述问题,本公开提供一种项目部署方法,能够使得整个项目步骤的过程全自动话,不需要开发人员手动配置,进而提高整个项目开发的效率。该方法的具体执行主体可以为上述的开发客户端,也可以为上述的服务器,具体根据实际需求而定。当执行主体为开发客户端时,开发客户端本身应当具备有服务器的性能或者本身为服务器。本公开实施例后续的描述中,“开发客户端”指开发人员使用的终端,“服务器”则根据情况的不同,可以是开发人员使用的终端,也可以是和开发人员通过自身使用的终端进行通信交互的服务器。
将具备服务器性能的开发客户端也视为服务器。
参照图2所示,为本公开实施例提供一种项目部署方法的流程示意图。当项目部署方法由服务器执行时,该方法可以包括201-205。
201、获取目标项目和目标项目的项目名称。
示例性的,这里的项目名称可以由开发人员自定义,例如project_name。201步骤具体为服务器获取目标项目和目标项目的项目名称。
实际中,因为项目本身所包含的文件和代码的量是很大的,所以一般在需要对其测试时,会对其进行压缩打包后发送给用于测试的服务器。以开发人员使用linux系统的开发终端为例,这里的目标项目实际可以为tgz包。服务器在获取到目标项目所在的tgz包后进行相应解压得到目标文件,同时目标文件的项目名称可以附在该压缩包内,也可以将项目名称作为该压缩包的名称,具体根据实际而定,此处不做具体限制。
当本公开实施例提供的项目部署方法由服务器执行时,这里的获取目标项目和目标项目的项目名称可以为开发者终端将目标项目打包后发送给服务器。如果本身开发者客户端具备服务器的性能或者本身就为服务器时,整个项目部署方法可以由开发者客户端执行,201步骤则可以为开发者客户端将目标项目发包后发送给自身用于部署项目的工具(例如持续集成工具);例如以家用电脑为例,可以为将独立硬盘中存储的项目代码发送至机械硬盘中。
202、根据目标项目在服务器中安装目标依赖包,并将目标依赖包链接至目标项目。
示例性的,为了更好的区分目标项目和目标项目运行要使用的目标依赖包,在本公开实施例中,在服务器获取到目标项目对应的压缩包后,会在设定的区域(指定目录)中创建两个文件夹(例如default文件夹和init文件夹),在两个文件夹中均解压目标项目的压缩包,而后在其中一个文件夹(例如init文件夹)中通过分析目标项目安装对应的目标依赖包(以服务器中的环境平台为Node.Js为例,目标依赖包为node_modules)。其中在两个文件夹中都解压目标项目的目的在于,目标依赖包的安装需要在同一文件夹内对目标项目分析后确定其中用于指定依赖包的文件(例如NodeJs是通过package.json文件指定依赖包),从而确定目标依赖包的具体安装项目。
为了方便后续单独放在一个文件夹中的目标项目可以知晓并使用目标依赖包,这里的链接在实际中可以为文件链接,文件链接可以分为硬链接和软连接。而因为实际中目标依赖包是存在多个项目的,即会存在多个子文件夹,如果使用硬链接,需要对每一个子文件夹都建立相应的硬链接,因而需要建立很多的硬链接,使用起来不方便;而软连接则可以针对目录建立,可以直接将目标依赖包所在的目录和目标项目单独存在的文件夹链接起来,使用更加方便快捷,所以在本公开实施例中,目标项目和目标依赖包的连接可以为软链接。
203、为目标项目随机分配目标端口;目标端口为服务器上的任一可用端口。
其中,可用端口为未被占用的端口。
204、根据目标端口、项目名称和服务器的预设配置参数生成目标配置文件,并运行目标配置文件,以使目标配置文件生效。
示例性的,目标配置文件中包括目标项目对应的目标域名,且目标配置文件用于表明目标域名和目标端口的对应关系。
服务器的预设配置参数主要用于体现服务器的网络环境和硬件环境,从而可以使得后续的目标域名中可以一定程度上对应该服务器。例如,以目标项目部署在A公司的服务器中,项目名称为project_name为例,其对应的目标域名可以为,project.test.gifshow.com;其中,project_name表明目标项目的项目名称,test可以表明该域名对应的项目为测试中的项目,gifshow则可用于表明A公司或者A公司的服务器。
以目标项目为web项目为例,因为实际中web项目在服务器中部署完成后,后续需要开发人员通过域名访问该目标项目,而在开发人员通过开发客户端访问部署在服务器上的目标项目时,服务器必然需要对域名进行解析,以得到目标项目对应的ip地址和端口,所以在实体的服务中一般安装有网站服务器(web服务器),网站服务器在知道目标服务器对应的目标域名时,在开发人员通过该目标域名访问时,可以通过对该域名的解析,使开发人员访问到对应的目标项目。所以本公开实施例中,目标配置文件为服务器中安装的网站服务器的配置文件。
205、将目标端口、项目名称和预设项目路径暴露给目标项目,并重启目标项目。
示例性的,以服务器安装linux系统为例,将目标端口、项目名称和预设项目路径暴露给目标项目,具体可以通过环境变量(export命令)将将目标端口、项目名称和预设项目路径暴露给目标项目。
其中,预设项目路径用于指示目标项目在服务器上的位置。预设项目路径是服务器在获取目标项目及其名称时就设定好的,例如/data/project/node-project。
示例性的,具体205步骤可以为根据目标端口、项目名称和预设项目路径暴露生成的重启脚本,该重启脚本可以在将目标端口、项目名称和预设项目路径暴露给目标项目后,执行目标项目中的重启脚本(例如bin/reload.sh)。
基于上述方案可以看出,本公开实施例提供的技术方案可以在项目部署过程中全称自动设定相关配置,从而使得项目部署过程更快速,进而开发人员也可以更快的对项目进行测试,提高了项目开发整个过程的效率。
可选的,结合图2,参照图3所示,本公开提供的实施例在205步骤后还包括206:
206、向开发客户端发送目标域名。
其中,开发客户端为开发目标项目的终端。
具体的,在开发客户端收到该目标域名后,便可以根据该域名访问目标项目。例如目标项目为某种应用,则目标域名可以为其网址;一种可能的实现方式中,开发人员在通过开发客户端知道该网址后,可以通过输入该网址则可以访问该应用;另一种可能的实现方式中,开发客户端上可以显示该网址,且该网址为超链接,开发人员可以通过任意方式(触摸点击或者通过鼠标点击)点击该网址,从而访问该应用。
在一种可能的实现方式中,本公开提供的项目部署方法是由安装在服务器中的持续集成工具完成的,而持续集成工具在获取目标项目时,是通过自身的应用程序接口完成的,例如通过开发客户端对自身某个应用程序接口的调用,完成目标项目的发送,所以结合图2,参照图3所示,上述的201步骤,具体可以为:
201、通过目标接口接收所述目标项目和所述目标项目的项目名称。
一种可实现的方式中,因为实际中开发人员对目标项目可能会因为其运行效果不佳,对部分内容更改后重新部署,如果目标项目的改动不大时,原先在服务器中用于支持改动前的目标项目运行的相关配置(例如端口号,依赖包等)是不需要更改的。所以,针对改动不大的项目而言,改动后的项目和改动前的项目视为同一项目,开发人员在首次和非首次将该项目发送给服务器部署时可以调用服务器上用于接收该目标项目的工具(持续集成工具)的不同接口;针对改动大的项目,则将改动后的项目和改动前的项目视为不同项目,改动后的项目在部署时视为新项目的部署。所以针对同一项目不同的部署情况(首次部署和非首次部署),服务器(或者服务器上的持续集成工具)在获取到目标项目和其名称后,可以根据接收到该目标项目的具体接口确定该目标项目是否为首次部署,从而决定是否需要重新设置相关配置。因而,结合图3,参照图4所示,202步骤之前还包括S1-S3:
S1、判断目标接口的类型。
当确定目标接口为第一接口时,执行202;当确定目标接口部为第二接口时,执行S2。
示例性的,第一接口可以为/api/deploy/init;第二接口可以为/api/deploy。
需要说明的是,实际中可以不存在S1步骤,直接在确定目标接口为第一接口时执行202,在确定目标接口为第二接口时执行S2即可。
S2、删除服务器中与目标项目的项目名称相同的历史项目,并将历史项目对应的历史依赖包作为目标依赖包链接至目标项目。
具体的,参照前述图2针对的201步骤的相关表述,服务器在获取到目标项目的压缩包后,会将其解压到两个文件夹(default文件夹和init文件夹)中,其中一个文件夹(default文件夹)中仅存放了目标项目,另一个文件夹(init文件夹)则还存在有目标依赖包。所以S2步骤中的删除历史项目可以是删除原有的仅存放已经测试过的历史项目(与目标项目的项目名称相同)的文件夹(default文件夹),然后将新建同样的文件夹(default文件夹)用于存放目标项目,最后再将原有与历史项目对应的存在有历史依赖包的文件夹(init文件夹)链接至该新建的文件夹。因为此时目标项目时通过第二接口接收到的,所以其不为首次部署,因而首次部署做的依赖包可以不用更改,直接链接即可,从而使得二次部署的过程更为快捷。
另外,因为本公开实施例中的链接可以为软链接,所以在建立存放目标项目的新文件夹时需要和存放历史文件夹的名称相同,所在目录相同,这样一来,便可以快速重新建立软链接,需要的用时很短(1ms以内),能够大大降低重新部署所需的时间。
S3、将历史项目对应的历史端口、项目名称和预设项目路径暴露给目标项目,并重启目标项目。
S3的目的在于将二次部署的项目在服务器中顺利运行。
另一种可能的实现方式中,实际中开发人员可以将改动较大的项目在改动后更换其项目名称,这样一来,服务器则可以直接根据该项目名称以及自身的历史记录,确定该项目是否为首次部署,从而进行后续的相关流程,具体参照前述方案,此处不再赘述。
又一种可能的实现方式中,开发人员可以不对改动后的项目的项目名称做更改,可以在将项目发送给服务器部署时,增发一条用于指示该项目为首次部署或非首次部署的提示信息,从而使得服务器直接根据该提示信息确定该项目是否为首次部署,进而进行后续相关流程,具体参照前述方案,此处不再赘述。
基于上述技术方案,因为在获取到目标项目及其名称后,可以在确定其不是首次部署时,直接使用之前首次部署时的相关配置(端口、依赖包)对目标项目进行部署,因为这些配置实际中是需要用大量时间完成的,所以这样一来,如果是目标项目为非首次部署,则可以进一步节省部署流程,提高整个项目开发的效率。
可选的,因为服务器中的每一个端口只可供一个项目使用,而端口号本身是比较难以区分的,所以如果开发人员对多个项目进行管理时,不需要考虑端口号,直接考虑目标项目本身(只考虑目标项目的项目名称),则会使得管理更加方便。因此为了达到这一目的,结合图2,参照图5所示,204步骤包括2041-2044:
2041、根据目标端口和项目名称,生成第一配置信息;第一配置信息的用于指示目标项目的可用端口为目标端口。
以目标项目为web项目,服务器中设置有web服务器nginx为例,这里的第一配置信息可以为Nginx.upstream配置,Nginx.upstream配置的名称可以为项目名称,具体内容可以为目标端口(port)的端口号。Nginx.upstream配置的主要作用是用项目名称代替端口号作为后续目标配置文件中的内容,这样一来,开发人员在对多个项目进行管理时,仅需要通过目标配置文件中的第一配置信息便可以知晓其对应哪个项目,而不需要去关注端口号或者ip地址等,方便开发人员根据目标配置文件对目标项目管理。进一步的,因为实际中多个项目之间还会存在一定引用关系,例如A项目接收到对应B项目的请求时,需要发送给B项目处理;此时A项目的目标配置文件中还会包括对应B项目的第一配置信息,从而可以使得开发人员在通过A项目的目标配置文件对A项目进行管理时,可以准确知晓A项目和其他哪个项目存在的引用关系,而不再需要在通过端口号得到这一信息,进而提高了管理效率。
2042、根据项目名称和预设配置参数,生成目标项目对应的目标域名。
2043、根据第一配置信息和项目名称生成目标配置文件;目标配置文件包括目标域名和第一配置信息的关联关系。
示例性的,以目标项目为web项目,服务器中设置有web服务器nginx为例,这里的目标配置文件为nginx config文件。
2044、运行目标配置文件,以使目标配置文件生效。
示例性的,以目标项目为web项目,服务器中设置有web服务器nginx为例,这里的运行目标配置文件具体可以为重启nginx。
可选的,为了方便开发人员及时知晓上述项目部署方法具体进行到哪一步,以及哪一步存在错误,实际中服务器可以向开发客户端发送一个日志链接,开发者则可以通过该日志链接,查看整个项目部署方法的流程进度以及每个流程的错误情况。
进一步可选的,因为实际中开发人员可能会因为自身喜好或者其他需求对域名或者目标配置文件进行修改,所以结合图3,参照图6所示,206步骤之后还包括:207-209:
207、向开发客户端发送目标配置文件。
示例性的,在开发客户端上,该目标配置文件显示出来供开发人员查看。
208、响应于开发客户端的修改指令,修改目标配置文件,以得到更新后的目标配置文件。
示例性的,该修改指令可以为开发人员通过触摸输入,也可以通过键盘输入,还可以通过任意方式触发生成,本公开对此不做具体限制。
209、对更新后的目标配置文件进行测试,当确定更新后的目标配置文件测试通过时,运行更新后的目标配置文件作为配置文件。
209步骤后执行205。
示例性的,以目标项目为web项目,服务器中设置有web服务器nginx,目标配置文件为nginx config文件为例,这里的测试,可以为重启nginx,判断是否能正常运行,如果不行则进行回滚操作后,以更新前的nginx config文件重启nginx;如果能正常运行,则以更新后的nginx config文件重启nginx。
这样一来,部署好的目标项目的相关配置文件,便可以根据开发人员的喜好或需求更改,提高了用户体验。
另外,在本公开实施例提供的技术方案中,对于静态文件的部署,可以是开发客户端对静态文件进行打包后,通过调用服务器中持续集成工具的第三接口(例如api/deploy/static)将静态文件的压缩包发送给服务器。
本公开提供的技术方案中,首先获取目标项目和目标项目的项目名称(具体是获取到用于测试项目的服务器中),而后可以根据目标项目在服务器上安装目标项目后续在运行时需要使用到的目标依赖包,同时将两者链接,使得后续目标项目运行时可以直接通过链接调用;再然后,为目标项目随机分配一个服务器上端口,供其后续运行测试时使用;而后,可以根据目标端口、项目名称和服务器的预设配置参数生成目标配置文件并运行使其生效;再然后,将目标端口、项目名称、预设项目路径暴露给目标项目后启动该目标项目,从而使目标项目可以顺利在服务器上运行。综上,因为本公开实施例提供的技术方案可以在项目部署过程中全称自动设定相关配置,从而使得项目部署过程更快速,进而开发人员也可以更快的对项目进行测试,提高了项目开发整个过程的效率。
上述明主要从服务器的角度对本公开实施例提供的方案进行了介绍。可以理解的是,服务器可以分别通过其中配置的项目部署装置实现上述功能。为了实现上述功能,项目部署装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,服务器可以包括项目部署装置,项目部署装置可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图7示出了应用在图2中所示服务器02的项目部署装置03的一种可能的结构示意图,该项目部署装置03包括:获取模块31、管理模块32、端口分配模块33、配置模块34和启动模块35。
其中,获取模块31,被配置为执行获取目标项目和目标项目的项目名称;管理模块32,被配置为根据获取模块31获取的目标项目在服务器02中安装目标依赖包,并将目标依赖包链接至目标项目;端口分配模块33,被配置为获取模块31获取的目标项目随机分配目标端口;目标端口为服务器02上的任一可用端口;可用端口为未被占用的端口;配置模块34,被配置为根据端口分配模块33分配的目标端口、获取模块31获取的项目名称和服务器02的预设配置参数生成目标配置文件,并运行目标配置文件,以使目标配置文件生效;启动模块35,被配置为将预设项目路径、端口分配模块33分配的目标端口和获取模块31获取的项目名称暴露给目标项目,并重启目标项目。
可选的,该装置还包括发送模块36;目标配置文件中包括目标项目对应的目标域名,且目标配置文件用于表明目标域名和目标端口的对应关系;发送模块36,被配置为向开发客户端发送配置模块34生成的目标配置文件中的目标域名;开发客户端为开发目标项目的终端。
可选的,获取模块31具体被配置为:通过目标接口接收目标项目和目标项目的项目名称。
可选的,管理模块32具体被配置为:当确定目标接口为第一接口时,根据获取模块31获取的目标项目安装目标依赖包,并将目标依赖包链接至目标项目。
可选的,管理模块32具体被配置为:当确定目标接口为第二接口时,删除服务器02中与目标项目的项目名称相同的历史项目,并将历史项目对应的历史依赖包作为目标依赖包链接至目标项目。
进一步可选的,启动模块35还被配置为:当管理模块32确定目标接口为第二接口时,将历史项目对应的历史端口、预设项目路径和获取模块31获取的项目名称暴露给目标项目,并重启目标项目。
可选的,管理模块32具体被配置为将目标依赖包软链接至目标项目。
可选的,配置模块34具体被配置为:根据端口分配模块33分配的目标端口和获取模块31获取的项目名称,生成第一配置信息;第一配置信息的用于指示目标项目的可用端口为目标端口;根据项目名称和预设配置参数,生成目标项目对应的目标域名;根据第一配置信息和项目名称生成目标配置文件;目标配置文件包括目标域名和第一配置信息的关联关系。
可选的,该项目部署装置还包括修改模块;发送模块36还被配置为在启动模块35重启目标项目后,向开发客户端发送配置模块34生成的目标配置文件;修改模块,被配置为响应于开发客户端的修改指令,修改目标配置文件,以得到更新后的目标配置文件;管理模块32,还被配置为对更新后的目标配置文件进行测试,当确定更新后的目标配置文件测试通过时,运行更新后的目标配置文件。
关于上述实施例中的项目部署装置,其中各个模块执行操作的具体方式已经在前述中的项目部署方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在采用集成的单元的情况下,图8是根据一示例性实施例示出的如图1所示的服务器02的一种可能的结构示意图,该服务器02可以是上述的项目部署装置03。如图8所示,该服务器包括处理器71和存储器72。其中,存储器72用于存储处理器71可执行的指令,处理器71则可以实现上述实施例中项目部署装置03中各个模块的功能。
其中,在具体的实现中,作为一种实施例,处理器71(71-1和71-2)可以包括一个或多个CPU,例如图8中所示的CPU0和CPU1。且作为一种实施例,空调的控制装置可以包括多个处理器71,例如图8中所示的处理器71-1和处理器71-2。这些处理器71中的每一个CPU可以是一个单核处理器(Single-CPU),也可以是一个多核处理器(Multi-CPU)。这里的处理器71可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。处理器501可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
存储器72可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘可读存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器72可以是独立存在,通过总线73与处理器71相连接。存储器72也可以和处理器71集成在一起。
总线73,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线73可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
另外,为了方便服务器02与其他设备(例如开发客户端)进行信息交互,该服务器02包括通信接口74。通信接口74,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,RAN),无线局域网(wirelesslocal area networks,WLAN)等。通信接口74可以包括接收单元实现接收功能,以及发送单元实现发送功能。
本领域技术人员可以理解,图8中示出的结构并不构成对服务器的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有指令,当该可读存储介质上的指令由服务器的处理器执行时,使得服务器能够执行前述实施例中提供的应用在服务器上的项目部署方法。
本公开实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述实施例提供的项目部署方法。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (19)
1.一种项目部署方法,其特征在于,所述方法包括:
获取目标项目和所述目标项目的项目名称;
根据所述目标项目在服务器中安装目标依赖包,并将所述目标依赖包链接至所述目标项目;
为所述目标项目随机分配目标端口;所述目标端口为所述服务器上的任一可用端口;所述可用端口为未被占用的端口;
根据所述目标端口和所述项目名称,生成第一配置信息;所述第一配置信息的用于指示所述目标项目的可用端口为所述目标端口;
根据所述项目名称和所述服务器的预设配置参数,生成所述目标项目对应的目标域名;
根据所述第一配置信息和所述项目名称生成目标配置文件,并运行所述目标配置文件,以使所述目标配置文件生效;所述目标配置文件包括所述目标域名和所述第一配置信息的关联关系;将所述目标端口、所述项目名称和预设项目路径暴露给所述目标项目,并重启所述目标项目;所述预设项目路径用于指示所述目标项目在所述服务器上的位置。
2.根据权利要求1所述的项目部署方法,其特征在于,所述目标配置文件中包括所述目标项目对应的目标域名,且所述目标配置文件用于表明所述目标域名和所述目标端口的对应关系;该方法还包括:
向开发客户端发送所述目标域名;所述开发客户端为开发所述目标项目的终端。
3.根据权利要求2所述的项目部署方法,其特征在于,所述获取目标项目和所述目标项目的项目名称包括:
通过目标接口接收所述目标项目和所述目标项目的项目名称。
4.根据权利要求3所述的项目部署方法,其特征在于,所述根据所述目标项目安装目标依赖包,并将所述目标依赖包链接至所述目标项目包括:
当确定所述目标接口为第一接口时,根据所述目标项目安装目标依赖包,并将所述目标依赖包链接至所述目标项目。
5.根据权利要求3所述的项目部署方法,其特征在于,所述根据所述目标项目安装目标依赖包,并将所述目标依赖包链接至所述目标项目包括:
当确定所述目标接口为第二接口时,删除所述服务器中与所述目标项目的项目名称相同的历史项目,并将所述历史项目对应的历史依赖包作为目标依赖包链接至所述目标项目。
6.根据权利要求5所述的项目部署方法,其特征在于,当确定所述目标接口为第二接口时,所述将所述历史项目对应的历史依赖包作为目标依赖包链接至所述目标项目之后,还包括:
将所述历史项目对应的历史端口、所述项目名称和预设项目路径暴露给所述目标项目,并重启所述目标项目。
7.根据权利要求2所述的项目部署方法,其特征在于,所述将所述目标依赖包链接至所述目标项目包括:
将所述目标依赖包软链接至所述目标项目。
8.根据权利要求2所述的项目部署方法,其特征在于,所述重启所述目标项目之后,还包括:
向所述开发客户端发送所述目标配置文件;
响应于所述开发客户端的修改指令,修改所述目标配置文件,以得到更新后的目标配置文件;
对所述更新后的目标配置文件进行测试,当确定所述更新后的目标配置文件测试通过时,运行所述更新后的目标配置文件作为配置文件。
9.根据权利要求1所述的项目部署方法,其特征在于,所述目标配置文件为所述服务器中安装的网站服务器的配置文件。
10.一种项目部署装置,其特征在于,包括:
获取模块,被配置为执行获取目标项目和所述目标项目的项目名称;
管理模块,被配置为根据所述获取模块获取的所述目标项目在服务器中安装目标依赖包,并将所述目标依赖包链接至所述目标项目;
端口分配模块,被配置为所述获取模块获取的所述目标项目随机分配目标端口;所述目标端口为所述服务器上的任一可用端口;所述可用端口为未被占用的端口;
配置模块,被配置为根据所述端口分配模块分配的所述目标端口和所述获取模块获取的所述项目名称,生成第一配置信息;所述第一配置信息的用于指示所述目标项目的可用端口为所述目标端口;
根据所述项目名称和所述服务器的预设配置参数,生成所述目标项目对应的目标域名;
根据所述第一配置信息和所述项目名称生成目标配置文件,并运行所述目标配置文件,以使所述目标配置文件生效;所述目标配置文件包括所述目标域名和所述第一配置信息的关联关系;
启动模块,被配置为将预设项目路径、所述端口分配模块分配的所述目标端口和所述获取模块获取的所述项目名称暴露给所述目标项目,并重启所述目标项目。
11.根据权利要求10所述的项目部署装置,其特征在于,还包括发送模块;
所述目标配置文件中包括所述目标项目对应的目标域名,且所述目标配置文件用于表明所述目标域名和所述目标端口的对应关系;
所述发送模块,被配置为向开发客户端发送所述配置模块生成的目标配置文件中的所述目标域名;所述开发客户端为开发所述目标项目的终端。
12.根据权利要求11所述的项目部署装置,其特征在于,所述获取模块具体被配置为:
通过目标接口接收所述目标项目和所述目标项目的项目名称。
13.根据权利要求12所述的项目部署装置,其特征在于,所述管理模块具体被配置为:
当确定所述目标接口为第一接口时,根据所述获取模块获取的所述目标项目安装目标依赖包,并将所述目标依赖包链接至所述目标项目。
14.根据权利要求12所述的项目部署装置,其特征在于,所述管理模块具体被配置为:
当确定所述目标接口为第二接口时,删除所述服务器中与所述目标项目的项目名称相同的历史项目,并将所述历史项目对应的历史依赖包作为目标依赖包链接至所述目标项目。
15.根据权利要求14所述的项目部署装置,其特征在于,所述启动模块还被配置为:
当所述管理模块确定所述目标接口为第二接口时,将所述历史项目对应的历史端口、所述预设项目路径和所述获取模块获取的所述项目名称暴露给所述目标项目,并重启所述目标项目。
16.根据权利要求11所述的项目部署装置,其特征在于,所述管理模块具体被配置为将所述目标依赖包软链接至所述目标项目。
17.根据权利要求11所述的项目部署装置,其特征在于,还包括修改模块;
所述发送模块还被配置为在所述启动模块重启所述目标项目后,向所述开发客户端发送所述配置模块生成的所述目标配置文件;
修改模块,被配置为响应于所述开发客户端的修改指令,修改所述目标配置文件,以得到更新后的目标配置文件;
所述管理模块,还被配置为对所述更新后的目标配置文件进行测试,当确定所述更新后的目标配置文件测试通过时,运行所述更新后的目标配置文件。
18.一种服务器,其特征在于,所述服务器包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-9中任一项所述的项目部署方法。
19.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器执行如权利要求1-9中任一项所述的项目部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011008486.5A CN112115056B (zh) | 2020-09-23 | 2020-09-23 | 一种项目部署方法和装置、服务器、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011008486.5A CN112115056B (zh) | 2020-09-23 | 2020-09-23 | 一种项目部署方法和装置、服务器、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112115056A CN112115056A (zh) | 2020-12-22 |
CN112115056B true CN112115056B (zh) | 2024-06-04 |
Family
ID=73800593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011008486.5A Active CN112115056B (zh) | 2020-09-23 | 2020-09-23 | 一种项目部署方法和装置、服务器、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115056B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783514B (zh) * | 2020-12-31 | 2022-06-14 | 罗普特科技集团股份有限公司 | 一种web前端项目部署管理的方法与系统 |
CN115086162A (zh) * | 2021-03-02 | 2022-09-20 | 京东科技控股股份有限公司 | 项目部署方法、装置、电子设备、系统和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN109508193A (zh) * | 2018-11-28 | 2019-03-22 | 北京东土科技股份有限公司 | 一种应用部署运行方法、装置、终端设备和介质 |
CN109714449A (zh) * | 2019-01-17 | 2019-05-03 | 平安科技(深圳)有限公司 | 服务域名的动态配置方法、装置、设备及存储介质 |
CN109960513A (zh) * | 2019-02-15 | 2019-07-02 | 视联动力信息技术股份有限公司 | 一种项目部署方法和视联网系统 |
CN110096424A (zh) * | 2019-05-14 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 测试的处理方法、装置、电子设备及存储介质 |
CN110162332A (zh) * | 2019-05-20 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 一种rn项目的构建方法及系统 |
CN111258561A (zh) * | 2020-01-10 | 2020-06-09 | 北京慧博科技有限公司 | 一种软件自动化编译部署启动监控的方法 |
CN111309343A (zh) * | 2020-02-20 | 2020-06-19 | 中国建设银行股份有限公司 | 一种开发部署方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130139139A1 (en) * | 2011-11-28 | 2013-05-30 | Wyse Technology Inc. | Automatic updating of an application or a driver on a client device using a deployment configuration file |
US10496605B2 (en) * | 2016-04-29 | 2019-12-03 | Splunk Inc. | Application deployment for data intake and query system |
-
2020
- 2020-09-23 CN CN202011008486.5A patent/CN112115056B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN109508193A (zh) * | 2018-11-28 | 2019-03-22 | 北京东土科技股份有限公司 | 一种应用部署运行方法、装置、终端设备和介质 |
CN109714449A (zh) * | 2019-01-17 | 2019-05-03 | 平安科技(深圳)有限公司 | 服务域名的动态配置方法、装置、设备及存储介质 |
CN109960513A (zh) * | 2019-02-15 | 2019-07-02 | 视联动力信息技术股份有限公司 | 一种项目部署方法和视联网系统 |
CN110096424A (zh) * | 2019-05-14 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 测试的处理方法、装置、电子设备及存储介质 |
CN110162332A (zh) * | 2019-05-20 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 一种rn项目的构建方法及系统 |
CN111258561A (zh) * | 2020-01-10 | 2020-06-09 | 北京慧博科技有限公司 | 一种软件自动化编译部署启动监控的方法 |
CN111309343A (zh) * | 2020-02-20 | 2020-06-19 | 中国建设银行股份有限公司 | 一种开发部署方法及装置 |
Non-Patent Citations (2)
Title |
---|
一种自动化远程统一部署软件平台;赵建平;鲍俊雷;程小林;吴学军;朱莉;赵建辉;;兵工自动化(第02期);全文 * |
一种面向数值模拟软件的持续集成平台;单雅辉;刘青凯;杨章;田鸿运;邹勇刚;;计算机辅助工程(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112115056A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413288B (zh) | 应用部署方法、装置、服务器及存储介质 | |
US9342273B1 (en) | Automatic communications graphing for a source application | |
EP2798494B1 (en) | Virtual channel for embedded process communication | |
US10185626B2 (en) | Automatic application error detection and rollback | |
US20160350081A1 (en) | Automatic container definition | |
US20150154224A1 (en) | Method, device, processing center and system for desktop synchronization | |
US10574724B2 (en) | Automatic discovery of management nodes and generation of CLI using HA module | |
US9672032B2 (en) | Mobile enabled application | |
CN113312037A (zh) | 应用于微服务的数据处理方法、装置、设备和存储介质 | |
EP2153344A1 (en) | Dynamically loading scripts | |
US9935828B2 (en) | Application controller to support incremental deployment | |
JP2021509498A (ja) | コンピューティング・デバイス | |
CN112115056B (zh) | 一种项目部署方法和装置、服务器、存储介质 | |
CN108614767A (zh) | 一种远程调试方法及装置 | |
US11288170B1 (en) | Log analysis debugging without running on real production environment | |
US20130254758A1 (en) | Application Construction for Execution on Diverse Computing Infrastructures | |
CN110750243A (zh) | 项目代码开发方法和系统 | |
CN113302901A (zh) | 使用基于模式的发现进行云应用程序和服务集成的方法及系统 | |
US20170017380A1 (en) | Mobile enabling a web application developed without mobile rendering capabilities | |
CN114237651A (zh) | 云原生应用的安装方法、装置、电子设备和介质 | |
JP6329329B2 (ja) | コード・キャッシング・システム | |
CN111813423A (zh) | 应用安装包处理方法及装置 | |
US10284628B2 (en) | Distribution method and resource acquisition method | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN112583891B (zh) | 接口文档获取方法、装置和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |