CN108255509A - 应用部署方法、装置、设备及可读存储介质 - Google Patents
应用部署方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN108255509A CN108255509A CN201810126523.9A CN201810126523A CN108255509A CN 108255509 A CN108255509 A CN 108255509A CN 201810126523 A CN201810126523 A CN 201810126523A CN 108255509 A CN108255509 A CN 108255509A
- Authority
- CN
- China
- Prior art keywords
- deployment
- application
- file
- application deployment
- label
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用部署方法、装置、设备及可读存储介质,所述应用部署方法包括:当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。本发明解决现有部署应用过程中,资源浪费多,应用的更新效率差的技术问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用部署方法、装置、设备及可读存储介质。
背景技术
随着互联网尤其是移动互联网的发展,应用的种类以及数量呈现爆炸性的增长,即由于用户对应用的时效性要求提高,使得应用更新节奏不断加快,其中,应用的部署是应用更新过程中的重要一环,尽管不同版本的应用往往只是小范围内的部分分支文件不同,然而,现有不同版本应用更新过程中,还是需要打包部署整个应用,这在一定程度上浪费了资源,且减慢了应用的更新效率。
发明内容
本发明的主要目的在于提供一种应用部署方法、装置、设备及可读存储介质,旨在解决现有部署应用过程中,资源浪费多,应用的更新效率差的技术问题。
为实现上述目的,本发明提供一种应用部署方法,所述应用部署方法包括:
当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;
基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;
当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;
基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
可选地,所述基于所述项目信息,从代码库中获取具有预设标签的标签分支文件步骤之后还包括:
基于所述待部署应用的项目信息,获取所述待部署应用的部署类型,其中,部署类型不同,打包脚本不同;
基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包;
所述将所述标签分支文件部署在项目信息指定的目标主机中步骤包括:
将所述部署包中的标签分支文件部署在项目信息指定的目标主机中。
可选地,所述基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包步骤包括:
当所述标签分支文件为多个时,获取包含所述全部标签分支文件的最小单位的根文件;
基于所述最小单位的根文件与所述部署类型,调用对应预存的打包脚本,以构建部署包。
可选地,所述将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署步骤之后包括:
检测所述待部署应用是否部署完成,当所述待部署应用部署完成时,基于所述项目信息获取目标测试URL;
调用预存的测试脚本以链接目标测试URL,并对所述部署完成的应用进行测试;
判断是否接收到所述部署完成的应用返回的预设返回值,当未接收到预设返回值时,生成部署失败的提示信息。
可选地,所述基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用步骤之后包括:
当所述待部署应用为首次部署的应用时,获取所述待部署应用的全部分支文件;
调用预存的部署脚本,将所述全部分支文件部署在目标主机中,以实现待部署应用的部署。
可选地,所述标签分支文件包括正则表达式类型文件,该正则表达式类型文件中包括目标文件与待替换文件名称;
所述调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中步骤包括:
解析所述正则表达式类型文件的内容,以获取目标文件,并获取待替换文件的名称;
在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署。
可选地,所述待部署应用包括待部署Web网站,所述正则表达式类型文件中包括目标文件,待替换文件的名称为home文件;
所述在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署步骤还包括:
在待部署Web网站对应当前在线版本中查找名称为home的实际文件;
将所述当前在线版本中名称为home的实际文件替换为所述目标文件,以实现所述待部署应用的部署。
此外,为实现上述目的,本发明还提供一种应用部署设备,所述应用部署设备包括:存储器、处理器,通信总线以及存储在所述存储器上的应用部署程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述应用部署程序,以实现以下步骤:
当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;
基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;
当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;
基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
可选地,所述基于所述项目信息,从代码库中获取具有预设标签的标签分支文件步骤之后还包括:
基于所述待部署应用的项目信息,获取所述待部署应用的部署类型,其中,部署类型不同,打包脚本不同;
基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包;
所述将所述标签分支文件部署在项目信息指定的目标主机中步骤包括:
将所述部署包中的标签分支文件部署在项目信息指定的目标主机中。
可选地,所述基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包步骤包括:
当所述标签分支文件为多个时,获取包含所述全部标签分支文件的最小单位的根文件;
基于所述最小单位的根文件与所述部署类型,调用对应预存的打包脚本,以构建部署包。
可选地,所述将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署步骤之后包括:
检测所述待部署应用是否部署完成,当所述待部署应用部署完成时,基于所述项目信息获取目标测试URL;
调用预存的测试脚本以链接目标测试URL,并对所述部署完成的应用进行测试;
判断是否接收到所述部署完成的应用返回的预设返回值,当未接收到预设返回值时,生成部署失败的提示信息。
可选地,所述基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用步骤之后包括:
当所述待部署应用为首次部署的应用时,获取所述待部署应用的全部分支文件;
调用预存的部署脚本,将所述全部分支文件部署在目标主机中,以实现待部署应用的部署。
可选地,所述标签分支文件包括正则表达式类型文件,该正则表达式类型文件中包括目标文件与待替换文件名称;
所述调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中步骤包括:
解析所述正则表达式类型文件的内容,以获取目标文件,并获取待替换文件的名称;
在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署。
可选地,所述待部署应用包括待部署Web网站,所述正则表达式类型文件中包括目标文件,待替换文件的名称为home文件;
所述在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署步骤还包括:
在待部署Web网站对应当前在线版本中查找名称为home的实际文件;
将所述当前在线版本中名称为home的实际文件替换为所述目标文件,以实现所述待部署应用的部署。
为实现上述目的,本发明提供一种应用部署装置,所述应用部署装置包括:
第一获取模块,用于当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;
判断模块,用于基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;
第二获取模块,用于当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;
第三获取模块,用于基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;
基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;
当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;
基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
本发明通过当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。由于在本申请中,当待部署应用不是首次部署的应用时,只部署待部署应用与当前在线版本应用的差异化文件即标签分支文件,而不是部署待部署应用全部的文件,因而能够加快待部署应用的部署速度,且节约了部署资源,因而本申请解决了现有部署应用过程中,资源浪费多,应用的更新效率差的技术问题。
附图说明
图1为本发明应用部署方法第一实施例的流程示意图;
图2为本发明应用部署方法第二实施例的流程示意图;
图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种应用部署方法,应用于应用部署装置,在本发明应用部署方法的第一实施例中,参照图1,所述应用部署方法包括:
当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
具体步骤如下:
步骤S10,当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;
需要说明的是,在本实施例中,实现将待部署应用部署至对应目标主机中,以最终实现应用的上线。
在待部署应用部署之前,部署项目人员接收开发人员提供的新项目上线申请单,其中,该新项目上线申请单中包括应用部署所需的硬软件资源如应用运行环境所需的内存资源,独占网络端口资源等等信息,基于该新项目上线申请单,部署项目人员制定列表信息,其中,该列表信息中包括待部署应用的项目信息以及部署信息,具体地,该列表信息中包括待部署应用的名称,部署类型,存储路径,部署路径,最小部署路径,目标主机等信息。
应用部署装置在检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该应用部署指令通过人为点击或者触摸应用部署界面的应用部署启动图标进行触发,在检测到应用部署指令后,查找该应用部署指令对应的列表信息,具体地,在应用部署界面已经关联该列表信息与所述待部署应用。
步骤S20,基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;
待部署应用的项目信息中包括待部署应用的版本信息以及当前在目标主机中的版本信息,如当前在目标主机中的版本可是对应应用第5版本,当前待部署应用的版本为第6版本,需要说明的是,当前待部署应用可是首次部署的应用,即当前待部署应用可是该应用的第1版本,因而,在本实施例中,需基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用。
具体地,所述基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用步骤之后包括:
步骤A1,当所述待部署应用为首次部署的应用时,获取所述待部署应用的全部分支文件;
当待部署应用首次部署时,获取所述待部署应用的全部分支文件,该全部分支文件包括待部署应用的配置文件,资源文件等。
步骤A2,调用预存的部署脚本,将所述全部分支文件部署在目标主机中,以实现待部署应用的部署。
基于列表信息获取部署路径与目标主机,调用预存的部署脚本,基于该部署路径将所述全部分支文件部署在目标主机中,具体地,基于该部署路径将所述全部分支文件分别置于目标主机中的目标存储位置,以完成待部署应用的部署。
步骤S30,当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;
需要说明的是,在本实施例中,开发人员在对当前在线版本应用进行分支文件的更改时,对更改的分支文件进行预设标签或者预设标识处理,其中,在对更改的分支文件进行预设标签或者预设标识处理过程中,只对最小单位的分支文件进行预设标签或者预设标识处理,具体地,如对文件a进行更改,只对文件a行预设标签或者预设标识处理,而不对文件a的上一级文件或者文件a的上级根文件进行相同标签或者相同标识处理,该标签或者标识能够用于识别所更改的分支文件外,还能够用于识别所更改的分支文件对应的应用版本类型。用以具体实施例进行说明,当待部署应用为第6版本应用时,对第6版本应用中所更改的分支文件打上6-1的标识。另外,在部署过程中,为快速查找得到预设标签或者预设标识处理的分支文件,可以对文件a的上一级文件或者文件a的上级根文件进行不同标签或者不同标识处理。
当所述待部署应用不是首次部署的应用时,应用部署装置默认待部署应用是在当前在线版本应用上进行的部分修改,即应用部署装置默认待部署应用是在当前在线版本应用上进行的分支文件的修改,由于开发人员在对当前在线版本应用进行分支文件的更改时,对更改的分支文件进行预设标签或者预设标识处理,因而基于列表信息中的所述项目信息,从代码库中获取具有预设标签的标签分支文件,需要说明的是,代码库是用于存放对应各个版本应用文件的文件库。
需要说明的是,具有预设标签的标签分支文件可是正则表达式类型文件或者文档类型文件。
步骤S40,基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
需要说明的是,列表信息中具有待部署应用的部署路径,该部署路径包括最小部署路径,其中,最小部署路径指的是最小级别的标签分支文件的部署路径,在获取部署路径后,调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
为便于理解,用以具体实施例进行说明,在Web网站中,需对Web网站的2个页面进行更改,其中,在开发时,开发人员已经对该2个页面对应文件进行预设标签处理,因而在部署新版本Web网站时,基于该预设标签获取2个页面对应文件,以完成对该Web网站的小范围的更新。
本发明通过当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。由于在本申请中,当待部署应用不是首次部署的应用时,只部署待部署应用与当前在线版本应用的差异化文件即标签分支文件,而不是部署待部署应用全部的文件,因而能够加快待部署应用的部署速度,且节约了部署资源,因而本申请解决了现有部署应用过程中,资源浪费多,应用的更新效率差的技术问题。
可选地,本发明提供应用部署方法的第二实施例,在第二实施例中,所述基于所述项目信息,从代码库中获取具有预设标签的标签分支文件步骤之后还包括:
步骤S31,基于所述待部署应用的项目信息,获取所述待部署应用的部署类型,其中,部署类型不同,打包脚本不同;
需要说明的是,待部署应用的部署类型不同,打包脚本不同,如待部署应用为php类型时,对应打包脚本为第一类型打包脚本,在待部署应用为java类型时,对应打包脚本为第二类型打包脚本等,因而在部署待部署应用时,基于所述待部署应用的项目信息,获取所述待部署应用的部署类型。
步骤S32,基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包;
所述将所述标签分支文件部署在项目信息指定的目标主机中步骤包括:
步骤S41,将所述部署包中的标签分支文件部署在项目信息指定的目标主机中。
在本实施例中,为加快部署速度,在对待部署应用的标签分支文件进行部署前,需调用待部署应用的部署类型对应预存的打包脚本,以对标签分支文件进行打包处理,以构建部署包,并将所述部署包对应标签分支文件对应部署在目标主机中,以实现待部署应用的部署。
具体地,所述基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包步骤包括:
步骤B1,当所述标签分支文件为多个时,获取包含所述全部标签分支文件的最小单位的根文件;
标签分支文件可为一个或者多个,当所述标签分支文件为多个时,获取包含所述全部标签分支文件的最小单位的根文件,用以具体实施例进行说明,标签分支文件可是b,c两个文件,b文件的上级文件为Q文件,c文件的上级文件为P文件,Q文件与P文件共同的最小单位的文件或者共同的最小单位的上级文件为W文件,则获取包含所述全部标签分支文件如b,c两个文件的最小单位的根文件即为W文件。
步骤SB2,基于所述最小单位的根文件与所述部署类型,调用对应预存的打包脚本,以构建部署包。
在获取最小单位的根文件后,基于所述最小单位的根文件与所述部署类型,调用对应预存的打包脚本,以构建部署包。如基于W文件与所述部署类型,调用对应预存的打包脚本,构建部署包W。由于获取包含所述全部标签分支文件的最小单位的根文件,以构建部署包,以进行待部署应用的部署,增强了标签分支文件部署过程中的容错功能。
在本实施例中,通过基于所述待部署应用的项目信息,获取所述待部署应用的部署类型,其中,部署类型不同,打包脚本不同;基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包,并将所述部署包对应标签分支文件对应部署在目标主机中,以实现待部署应用的部署。在本实施例中,在各个计算组的计算量不同时,实现高效处理待处理任务。
可选地,本发明提供应用部署方法的第三实施例,在第三实施例中,所述将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署步骤之后包括:
步骤S50,检测所述待部署应用是否部署完成,当所述待部署应用部署完成时,基于所述项目信息获取目标测试URL;
在本实施例中,在待部署应用部署后,每间隔预设时间段检测所述待部署应用是否部署完成,当所述待部署应用部署完成时,基于所述项目信息获取目标测试URL。
步骤S60,调用预存的测试脚本以链接目标测试URL,并对所述部署完成的应用进行测试;
调用预存的测试脚本以链接目标测试URL,并对所述部署完成的应用进行测试,其中,测试过程可是启动已部署完成的应用,输入预设数值,并判断是否接收到所述部署完成的应用返回的预设返回值。
步骤S70,判断是否接收到所述部署完成的应用返回的预设返回值,当未接收到预设返回值时,生成部署失败的提示信息。
当未接收到所述部署完成的应用返回的预设返回值时,生成部署失败的提示信息,当接收到预设返回值时,部署成功。
在本实施例中,通过检测所述待部署应用是否部署完成,当所述待部署应用部署完成时,基于所述项目信息获取目标测试URL;调用预存的测试脚本以链接目标测试URL,并对所述部署完成的应用进行测试;判断是否接收到所述部署完成的应用返回的预设返回值,当未接收到预设返回值时,生成部署失败的提示信息。本实施例实现及时检测待部署应用是否部署成功。
可选地,本发明提供应用部署方法的第四实施例,在第四实施例中,所述标签分支文件包括正则表达式类型文件,该正则表达式类型文件中包括目标文件与待替换文件名称;
所述调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中步骤包括:
步骤C1,解析所述正则表达式类型文件的内容,以获取目标文件,并获取待替换文件的名称;
具体地,标签分支文件可是正则表达式类型文件,在标签分支文件是正则表达式类型文件时,需解析所述正则表达式类型文件的内容,以获取目标文件,并获取待替换文件的名称,如待替换文件的名称为home文件;
步骤C2,在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署。
在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,在查找过程中,基于待替换文件名称与文件名称进行匹配,以获取得到实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署,
具体地,在待替换文件的名称为home文件,待部署应用为待部署Web网站时,所述在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署步骤包括:
步骤D1,在待部署Web网站对应当前在线版本中查找名称为home的实际文件;
具体地,从当前在线Web网站应用中进行文件名称home的模糊匹配,以得到在线Web网站应用中所有名称为home的文件。
步骤D2,将所述当前在线版本中名称为home的实际文件替换为所述目标文件,以实现所述待部署应用的部署。
将该在线应用中所有名称为home的文件进行替代处理,具体地,将所述当前在线版本中名称为home的实际文件替换为所述目标文件,以实现所述待部署应用的部署。
在本实施例中,通过解析所述正则表达式类型文件的内容,以获取目标文件,并获取待替换文件的名称;在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署。在本实施例中,在标签分支文件为正则表达式类型文件时,实现小范围的应用重新部署,提升了应用部署的效率。
本发明还提供一种应用部署装置,所述应用部署装置包括:
第一获取模块,用于当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;
第一判断模块,用于基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;
第二获取模块,用于当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;
第三获取模块,用于基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
可选地,所述应用部署方法还包括:
第四获取模块,用于基于所述待部署应用的项目信息,获取所述待部署应用的部署类型,其中,部署类型不同,打包脚本不同;
第一调用模块,用于基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包,并将所述部署包对应标签分支文件对应部署在目标主机中,以实现待部署应用的部署。
可选地,所述第一调用模块包括:
获取单元,用于当所述标签分支文件为多个时,获取包含所述全部标签分支文件的最小单位的根文件;
调用单元,用于基于所述最小单位的根文件与所述部署类型,调用对应预存的打包脚本,以构建部署包;
所述第三获取模块包括:
部署单元,用于将所述部署包中的标签分支文件部署在项目信息指定的目标主机中。
可选地,所述应用部署装置还包括:
检测模块,用于检测所述待部署应用是否部署完成,当所述待部署应用部署完成时,基于所述项目信息获取目标测试URL;
第二调用模块,用于调用预存的测试脚本以链接目标测试URL,并对所述部署完成的应用进行测试;
第二判断模块,用于判断是否接收到所述部署完成的应用返回的预设返回值,当未接收到预设返回值时,生成部署失败的提示信息。
可选地,所述应用部署装置还包括:
第五获取模块,用于当所述待部署应用为首次部署的应用时,获取所述待部署应用的全部分支文件;
第三调用模块,用于调用预存的部署脚本,将所述全部分支文件部署在目标主机中,以实现待部署应用的部署。
可选地,所述标签分支文件包括正则表达式类型文件,该正则表达式类型文件中包括目标文件与待替换文件名称;
所述第三获取模块步骤包括:
解析单元,用于解析所述正则表达式类型文件的内容,以获取目标文件,并获取待替换文件的名称;
查找单元,用于在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署。
可选地,所述待部署应用包括待部署Web网站,所述正则表达式类型文件中包括目标文件,待替换文件的名称为home文件;
所述查找单元包括:
搀着子单元,用于在待部署Web网站对应当前在线版本中查找名称为home的实际文件;
替换子单元,用于将所述当前在线版本中名称为home的实际文件替换为所述目标文件,以实现所述待部署应用的部署。
参照图3,图3是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例应用部署设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等终端设备。
如图3所示,该应用部署设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
进一步地,该应用部署设备还可以包括用户接口、网络接口、摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的应用部署设备结构并不构成对应用部署设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及应用部署程序。操作系统是管理和控制应用部署设备硬件和软件资源的程序,支持应用部署程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与应用部署设备中其它硬件和软件之间通信。
在图3所示的应用部署设备中,处理器1001用于执行存储器1005中存储的应用部署程序,实现上述应用部署方法各实施例中的步骤。
此外,为实现上述目的,本发明实施例还提供一种应用部署设备,所述应用部署设备包括:存储器、处理器,通信总线以及存储在所述存储器上的应用部署程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述应用部署程序,以实现上述应用部署方法各实施例中的步骤
本发明实施例提供了一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的应用部署方法的步骤。
本发明可读存储介质具体实施方式与上述应用部署方法各实施例基本相同,在此不再赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利处理范围内。
Claims (10)
1.一种应用部署方法,其特征在于,所述应用部署方法包括:
当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;
基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;
当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;
基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
2.如权利要求1所述的应用部署方法,其特征在于,所述基于所述项目信息,从代码库中获取具有预设标签的标签分支文件步骤之后还包括:
基于所述待部署应用的项目信息,获取所述待部署应用的部署类型,其中,部署类型不同,打包脚本不同;
基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包;
所述将所述标签分支文件部署在项目信息指定的目标主机中步骤包括:
将所述部署包中的标签分支文件部署在项目信息指定的目标主机中。
3.如权利要求2所述的应用部署方法,其特征在于,所述基于所述标签分支文件与所述部署类型,调用对应预存的打包脚本,以构建部署包步骤包括:
当所述标签分支文件为多个时,获取包含所述全部标签分支文件的最小单位的根文件;
基于所述最小单位的根文件与所述部署类型,调用对应预存的打包脚本,以构建部署包。
4.如权利要求1所述的应用部署方法,其特征在于,所述将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署步骤之后包括:
检测所述待部署应用是否部署完成,当所述待部署应用部署完成时,基于所述项目信息获取目标测试URL;
调用预存的测试脚本以链接目标测试URL,并对所述部署完成的应用进行测试;
判断是否接收到所述部署完成的应用返回的预设返回值,当未接收到预设返回值时,生成部署失败的提示信息。
5.如权利要求1所述的应用部署方法,其特征在于,所述基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用步骤之后包括:
当所述待部署应用为首次部署的应用时,获取所述待部署应用的全部分支文件;
调用预存的部署脚本,将所述全部分支文件部署在目标主机中,以实现待部署应用的部署。
6.如权利要求1-5任一项所述的应用部署方法,其特征在于,所述标签分支文件包括正则表达式类型文件,该正则表达式类型文件中包括目标文件与待替换文件名称;
所述调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中步骤包括:
解析所述正则表达式类型文件的内容,以获取目标文件,并获取待替换文件的名称;
在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署。
7.如权利要求6所述的应用部署方法,其特征在于,所述待部署应用包括待部署Web网站,所述正则表达式类型文件中包括目标文件,待替换文件的名称为home文件;
所述在所述待部署应用对应当前在线版本应用中查找名称与所述待替换文件名称一致的实际文件,并将所述实际文件替换为目标文件,以实现所述待部署应用的部署步骤还包括:
在待部署Web网站对应当前在线版本中查找名称为home的实际文件;
将所述当前在线版本中名称为home的实际文件替换为所述目标文件,以实现所述待部署应用的部署。
8.一种应用部署装置,其特征在于,所述应用部署装置包括:
第一获取模块,用于当检测到应用部署指令时,获取所述待部署应用对应的列表信息,其中,该列表信息中包括所述待部署应用的项目信息以及部署信息;
第一判断模块,用于基于所述待部署应用的项目信息,判断所述待部署应用是否为首次部署的应用;
第二获取模块,用于当所述待部署应用不是首次部署的应用时,基于所述项目信息,从代码库中获取具有预设标签的标签分支文件;
第三获取模块,用于基于所述部署信息,获取目标部署路径,并调用预存的部署脚本,将所述标签分支文件部署在项目信息指定的目标主机中,以实现待部署应用的部署。
9.一种应用部署设备,其特征在于,所述应用部署设备包括:存储器、处理器,通信总线以及存储在所述存储器上的应用部署程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述应用部署程序,以实现如权利要求1至7中任一项所述的应用部署方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有应用部署程序,所述应用部署程序被处理器执行时实现如权利要求1-7中任一项所述的应用部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810126523.9A CN108255509B (zh) | 2018-02-07 | 2018-02-07 | 应用部署方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810126523.9A CN108255509B (zh) | 2018-02-07 | 2018-02-07 | 应用部署方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255509A true CN108255509A (zh) | 2018-07-06 |
CN108255509B CN108255509B (zh) | 2022-02-22 |
Family
ID=62745017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810126523.9A Active CN108255509B (zh) | 2018-02-07 | 2018-02-07 | 应用部署方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255509B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669717A (zh) * | 2018-09-25 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于部署平台的数据处理方法、装置、设备及存储介质 |
CN110569044A (zh) * | 2019-09-09 | 2019-12-13 | 山东浪潮通软信息科技有限公司 | 一种将应用部署到运行环境的方法、装置及系统 |
CN110795125A (zh) * | 2019-10-21 | 2020-02-14 | 上海器魂智能科技有限公司 | 基于DevOps框架的软件更新方法、系统、设备及可读存储介质 |
CN111639019A (zh) * | 2020-04-24 | 2020-09-08 | 北京五八信息技术有限公司 | 代码测试方法、装置及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739278A (zh) * | 2009-12-17 | 2010-06-16 | 中国电力科学研究院 | 一种企业级应用软件升级方法及系统 |
CN103617058A (zh) * | 2013-11-28 | 2014-03-05 | 惠州华阳通用电子有限公司 | 基于qnx的应用软件安装、卸载系统及方法 |
US20140380308A1 (en) * | 2013-06-25 | 2014-12-25 | Vmware, Inc. | Methods and apparatus to generate a customized application blueprint |
CN105511872A (zh) * | 2015-11-30 | 2016-04-20 | 国云科技股份有限公司 | 一种基于云计算平台的应用自动化部署方法 |
CN106357738A (zh) * | 2016-08-26 | 2017-01-25 | 北京奇虎科技有限公司 | 一种服务器集群的自动化部署方法、装置和系统 |
CN107203400A (zh) * | 2017-06-21 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种远程部署组件的方法及装置 |
CN107229484A (zh) * | 2016-03-23 | 2017-10-03 | 中兴通讯股份有限公司 | 一种虚拟化环境下自动部署应用程序的方法及装置 |
CN107577469A (zh) * | 2017-08-21 | 2018-01-12 | 厦门悦讯教育科技有限公司 | 一种软件打包发布管理方法 |
-
2018
- 2018-02-07 CN CN201810126523.9A patent/CN108255509B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739278A (zh) * | 2009-12-17 | 2010-06-16 | 中国电力科学研究院 | 一种企业级应用软件升级方法及系统 |
US20140380308A1 (en) * | 2013-06-25 | 2014-12-25 | Vmware, Inc. | Methods and apparatus to generate a customized application blueprint |
CN103617058A (zh) * | 2013-11-28 | 2014-03-05 | 惠州华阳通用电子有限公司 | 基于qnx的应用软件安装、卸载系统及方法 |
CN105511872A (zh) * | 2015-11-30 | 2016-04-20 | 国云科技股份有限公司 | 一种基于云计算平台的应用自动化部署方法 |
CN107229484A (zh) * | 2016-03-23 | 2017-10-03 | 中兴通讯股份有限公司 | 一种虚拟化环境下自动部署应用程序的方法及装置 |
CN106357738A (zh) * | 2016-08-26 | 2017-01-25 | 北京奇虎科技有限公司 | 一种服务器集群的自动化部署方法、装置和系统 |
CN107203400A (zh) * | 2017-06-21 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种远程部署组件的方法及装置 |
CN107577469A (zh) * | 2017-08-21 | 2018-01-12 | 厦门悦讯教育科技有限公司 | 一种软件打包发布管理方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669717A (zh) * | 2018-09-25 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于部署平台的数据处理方法、装置、设备及存储介质 |
CN110569044A (zh) * | 2019-09-09 | 2019-12-13 | 山东浪潮通软信息科技有限公司 | 一种将应用部署到运行环境的方法、装置及系统 |
CN110569044B (zh) * | 2019-09-09 | 2022-07-12 | 浪潮通用软件有限公司 | 一种将应用部署到运行环境的方法、装置及系统 |
CN110795125A (zh) * | 2019-10-21 | 2020-02-14 | 上海器魂智能科技有限公司 | 基于DevOps框架的软件更新方法、系统、设备及可读存储介质 |
CN111639019A (zh) * | 2020-04-24 | 2020-09-08 | 北京五八信息技术有限公司 | 代码测试方法、装置及可读存储介质 |
CN111639019B (zh) * | 2020-04-24 | 2023-08-25 | 北京五八信息技术有限公司 | 代码测试方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108255509B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255509A (zh) | 应用部署方法、装置、设备及可读存储介质 | |
CN1153138C (zh) | 提高Java环境的可管理性和可用性的系统和方法 | |
CN103729425B (zh) | 操作响应方法、客户端、浏览器及系统 | |
CN108874464B (zh) | 中间件自动扫描装配方法、装置及存储介质 | |
CN107515764A (zh) | 应用程序页面打开方法、终端以及计算机可读存储介质 | |
CN108241500A (zh) | 一种硬件组件的修复方法、装置、系统和存储介质 | |
CN104156243A (zh) | 一种应用分发和快速加载运行的系统及方法 | |
CN103177115B (zh) | 一种提取网页页面链接的方法和装置 | |
CN106383633A (zh) | 应用图标更换方法及装置 | |
CN109408136A (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN106502717A (zh) | 应用程序运行方法及装置 | |
CN104636122B (zh) | 一种能力组件的共享方法和设备 | |
CN107153536A (zh) | 一种应用处理方法及装置 | |
CN105068802B (zh) | 一种跨设备运行的Web应用软件实现系统和方法 | |
CN108769234A (zh) | 应用下载方法、装置、存储介质及电子设备 | |
CN110333874B (zh) | 一种iOS系统安装包数据采集方法、装置、设备及介质 | |
CN109816453B (zh) | 一种推广资源链接的检测方法及装置 | |
US20090094312A1 (en) | Methods and systems for dynamic code extension | |
CN107918543B (zh) | 安装包生成的方法、装置、计算机设备和存储介质 | |
CN110362341A (zh) | 基于微服务架构的业务管理方法、装置、设备和存储介质 | |
WO2005020070A1 (ja) | プログラム生成システム、プログラム生成プログラムおよびプログラム生成モジュール | |
CN104461893A (zh) | 数据处理方法与数据处理装置 | |
CN108334360A (zh) | 应用程序动态加载的方法、装置、存储介质和计算机设备 | |
KR20060033929A (ko) | 프로그램 생성 시스템, 프로그램 생성 프로그램 및프로그램 생성 모듈 | |
CN104750553A (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 |