CN112286543B - 一种应用服务部署方法及装置 - Google Patents
一种应用服务部署方法及装置 Download PDFInfo
- Publication number
- CN112286543B CN112286543B CN202011233837.2A CN202011233837A CN112286543B CN 112286543 B CN112286543 B CN 112286543B CN 202011233837 A CN202011233837 A CN 202011233837A CN 112286543 B CN112286543 B CN 112286543B
- Authority
- CN
- China
- Prior art keywords
- application service
- file
- created
- installation
- information
- 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
Images
Classifications
-
- 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
Abstract
本发明提供了一种应用服务部署方法及装置,属于Linux应用部署技术领域。本发明在第一设备中进行应用服务的安装,并提取依赖文件、应用服务安装时创建的文件,以及Linux相关信息,将获取的文件和信息放到第一设备上创建的一个文件夹中不同目录下,并进行压缩,在待部署的设备上调用安装脚本,解压缩安装包,获取上述文件和信息,若获取的Linux相关信息与待部署的设备上的一致,则在待部署的设备的相应目录下生成应用服务安装时创建的文件的软链接,在待部署的设备上没有依赖文件时,在/lib目录下生成依赖文件的软链接,并进行安装。本发明便于部署的应用的管理,卸载时可删除文件夹,仅可能残留占用空间较小的已失效的软链接。
Description
技术领域
本发明涉及Linux应用部署技术领域,尤其涉及一种应用服务部署方法及装置。
背景技术
随着计算机和网络的发展,越来越多的软件出现在计算机领域。软件开发通常在Linux系统下进行,因此对于Linux系统的软件部署也越来越频繁,耗费大量人力。windows系统下软件部署方式,如通过exe可执行文件进行部署,与windows系统下软件部署不同的是,Linux系统无法采用exe可执行文件方式进行部署,而是采用直接运行源代码的方式进行部署。在需要部署的设备比较多时,快速进行Linux系统软件部署就显得尤为重要。
中国专利申请文献CN109375929A中,公开了一种Java web应用的安装包生成方法。该方法包括:从目标平台获取待部署的目标应用的源代码,所述目标平台为存储有所述源代码的任一网站;根据所述源代码执行编译,以构建所述目标应用;获取所述目标应用的安装包类型,所述安装包类型用于表示所述目标应用所要部署的操作系统的类型;获取预先存储的与所述安装包类型对应的脚本和环境;根据已构建的所述目标应用,所述环境和所述脚本,生成与所述安装包类型对应的应用安装包。所述获取预先存储的与所述安装包类型对应的脚本和环境,包括:从安装包构建工具软件中获取预先配置的与所述安装包类型对应的命令脚本、支撑库、Java运行环境和中间件。所述安装包构建工具软件中预先配置有至少一种操作系统的命令脚本、支撑库、Java运行环境和中间件,所述从安装包构建工具软件中获取预先存储的与所述安装包类型对应的命令脚本、支撑库、Java运行环境和中间件,包括:当所述安装包类型为第一系统安装包时,从所述安装包构建工具软件中获取预先配置的第一系统命令脚本、第一系统支撑库、第一系统的Java运行环境和中间件,所述第一系统为所述至少一种操作系统中的任一操作系统。所述根据已构建的所述目标应用,所述环境和所述脚本,生成与所述安装包类型对应的应用安装包,包括:当所述安装包类型为Windows安装包时,根据已构建的所述目标应用,所述环境和所述脚本,生成zip格式的应用安装包;当所述安装包类型为Linux安装包时,根据已构建的所述目标应用,所述环境和所述脚本,生成tar.gz格式的应用安装包。
中国专利申请文献CN110109701A中,公开了一种应用部署时的文件配置方法,该方法包括获取待配置应用的资源文件,所述资源文件包括配置文件、业务代码和三方依赖文件;对所述业务代码进行编译,生成字节码.class文件;利用jar工具对所述字节码.class文件以及所述配置文件进行打包处理,生成一个jar文件;将所述三方依赖文件从所述资源文件中提取出来,并按照预设压缩方式进行压缩形成压缩文件;将包含所述三方依赖文件的压缩文件存储到共享文件夹,将所述jar文件发送给WEB服务器进行发布,所述WEB服务器可从所述共享文件夹中获取到所述三方依赖文件。还公开了一种应用发布方法,包括获取待发布应用的jar文件,所述jar文件中包括业务代码的字节码.class文件以及配置文件;对所述jar文件进行解包,获取程序入口以及类路径ClassPath,通过所述类路径ClassPath中指定的存储路径,获取所述待发布应用的三方依赖文件,以启动所述待发布应用,实现应用分布过程。
现有技术至少存在以下不足:
1.部署的服务为java web服务或自己编写的服务,有局限性。
2.根据操作系统类型获取支撑库,获取的支撑库不一定都是所需要的,会有冗余,导致体量过大。
3.将三方依赖文件放置WEB服务器中的共享文件夹,需要用的时候来获取,如果需要部署的设备较多时,会访问量大而导致网络拥塞,降低部署效率。
4.对获取到的文件都是散乱管理,当需要卸载时,需要根据当前部署的所有软件逐个目录进行需删除库文件的判断,降低卸载效率,易产生垃圾文件。
发明内容
为解决现有技术中存在的技术问题,本发明提供了一种应用服务部署方法及装置,在第一设备中进行应用服务的安装,并在第一设备中提取依赖文件、配置文件和多个可执行文件,以及第一设备上的Linux发行版本信息和Linux内核版本信息,在第一设备创建一个文件夹,将获取的信息放到该文件夹中,并进行压缩,将压缩安装包发送到待部署的设备上,在待部署的设备上调用安装脚本,解压缩安装包,获取依赖文件、配置文件和多个可执行文件,以及第一设备上的Linux发行版本信息和Linux内核版本信息,若获取的Linux发行版本信息和Linux内核版本信息与待部署的设备上的该信息一致,则进行应用服务的部署。在待部署的设备的/lib目录下生成配置文件和可执行文件的软链接,在待部署的设备上查找依赖文件,如果没有找到,则在/lib目录下生成依赖文件的软链接,然后从生成的软链接中获取依赖文件、配置文件和可执行文件,进行应用服务的安装。本发明将依赖文件、配置文件和可执行文件等信息的提取与安装在不同设备上进行,使压缩安装包的制作更独立,方便问题查找;同时,本发明将依赖文件、配置文件和可执行文件等信息压缩在一个文件夹中,且在待部署设备上生成的两个软链接也在同一目录下,方便管理,同时便于卸载,不易产生垃圾文件。
本发明提供了一种应用服务部署方法,包括如下步骤:
安装包制作步骤,
步骤S100,在第一设备上安装所述应用服务;
步骤S200,提取所述应用服务的依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息;
步骤S300,在所述第一设备上创建第一文件夹A,在所述第一文件夹A里创建安装所述应用服务所需的目录和文件,所述应用服务所需的目录和文件的名称与安装脚本中定义的目录和文件的名称一致;
步骤S400,将步骤S200中提取的所述应用服务的依赖文件及其安装路径信息和所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息拷贝到创建的所述第一文件夹A下的相应目录和文件中;
步骤S500,压缩创建的所述第一文件夹A为压缩安装包,所述压缩采用的压缩格式与待部署所述应用服务的第二设备协商一致;
安装包发送步骤,
步骤S600,将所述压缩安装包发送至待部署所述应用服务的所述第二设备上;
安装包安装步骤,
步骤S700:在待部署所述应用服务的所述第二设备上运行所述安装脚本,所述安装脚本执行如下操作:
步骤S701:解压缩所述压缩安装包为第二文件夹,获取所述依赖文件及其安装路径信息、所述所述应用服务安装时创建的文件及其安装路径信息,以及所述Linux发行版本信息和所述Linux内核版本信息;
步骤S702:
将获取的所述Linux发行版本信息和所述Linux内核版本信息与所述待部署所述应用服务的所述第二设备上的Linux发行版本信息和Linux内核版本信息分别进行对比:
如果均一致,则部署所述应用服务;
否则,结束所述安装脚本的运行,退出所述应用程序的部署;
所述部署所述应用服务包括如下步骤:
在所述第二设备的相应路径下分别生成每个所述应用服务安装时创建的文件的第一软链接;
在所述第二设备中依赖文件的安装路径下,查找获取的所述依赖文件,如果不存在,则分别生成每个所述依赖文件的第二软链接;
安装所述应用服务。
优选地,所述部署所述应用服务具体包括如下步骤:
S710:根据所述应用服务安装时创建的文件的安装路径信息,在所述第二设备的对应路径
上分别生成每个所述应用服务安装时创建的文件的第一软链接;
S711:在所述待部署所述应用服务的所述第二设备上的依赖文件的安装路径下查找获取的所述依赖文件:
如果在所述第二设备的依赖文件的安装路径下存在所述依赖文件,
则根据创建的所述第一软链接和所述第二设备上的所述依赖文件,安装所述应用服务;
否则,
在所述待部署所述应用服务的所述第二设备上的/lib目录下分别生成每个所述依赖文件的第二软链接;
根据创建的所述第一软链接和所述第二软链接,安装所述应用服务。
优选地,还包括:
在步骤S300之前,判断是否创建了用户,如果创建了用户,在所述第一设备上获取创建的用户的信息,并写入创建的所述第一文件夹A下的相应目录的文件中;
在步骤S710和步骤S711之间,判断是否获取了创建的用户的信息,如果获取到创建的用户的信息,根据创建的用户的信息,创建用户。
优选地,在步骤S300中,创建的安装所述应用服务所需的目录和文件包括:lib目录、Program目录和Version目录,在lib目录和Program目录下分别创建path.txt文件,在Version目录下创建data.txt文件。
优选地,步骤S400具体包括如下操作:
将所述应用服务安装时创建的文件拷贝至创建的所述第一文件夹A下的Program目录下;
将所述应用服务安装时创建的文件的安装路径信息写入所述第一文件夹A下的Program目录下的path.txt文件;
将提取的依赖文件拷贝到创建的所述第一文件夹A下的lib目录下;
所述依赖文件的安装路径信息写入所述第一文件夹A下的lib目录下的path.txt文件;
将创建的用户的信息、所述Linux发行版本信息和所述Linux内核版本信息写入所述第一文件夹A下的Version目录下的data.txt文件。
优选地,在步骤S710中,更改所述应用服务安装时创建的可执行文件的权限为最大权限777。
优选地,在步骤S700之后,还包括步骤S800,在安装完所述应用服务后,启动所述应用服务,并监控所述应用服务的运行状态,根据监控结果创建相应的空文件,所述空文件的名称表示所述应用服务部署成功与否。
本发明提供了一种应用服务部署装置,包括:
提取模块,用于在安装有所述应用服务的第一设备上提取安装所述应用服务所需的信息,包括:
所述应用服务的依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息;
如果创建了用户,还提取创建的用户的信息;
打包模块,执行如下操作:
在所述第一设备上创建第一文件夹A,并在所述第一文件夹A里创建安装所述应用服务所需的目录和文件,所述应用服务所需的目录和文件的名称与安装脚本中定义的目录和文件的名称一致;
将提取的文件和信息拷贝到创建的所述第一文件夹A下的相应目录和文件中;
如果创建了用户,将创建的用户的信息写入创建的所述第一文件夹A下的相应目录的文件中;
压缩所述第一文件夹为压缩安装包,所述压缩采用的压缩格式与所述安装脚本模块预先协商一致;
将所述压缩安装包发送至待部署所述应用服务的第二设备上;
安装脚本模块,执行如下操作:
在待部署所述应用服务的设备上解压缩所述压缩安装包为第二文件夹,获取所述依赖文件及其安装路径信息、所述所述应用服务安装时创建的文件及其安装路径信息,以及所述Linux发行版本信息和所述Linux内核版本信息;
将获取的所述Linux发行版本信息和所述Linux内核版本信息与所述待部署所述应用服务的所述第二设备上的Linux发行版本信息和Linux内核版本信息分别进行对比:
如果均一致,则部署所述应用服务;
否则,结束所述安装脚本的运行,退出所述应用程序的部署;
所述部署所述应用服务包括如下步骤:
根据所述应用服务安装时创建的文件的安装路径信息,在所述第二设备的对应路径上,分别生成每个所述应用服务安装时创建的文件的第一软链接;
更改所述应用服务安装时创建的可执行文件的权限为最大权限777;
在所述待部署所述应用服务的所述第二设备上的依赖文件的安装路径下查找获取的所述依赖文件:
如果在该文件夹中存在所述依赖文件,
则安装所述应用服务;
否则,
在所述待部署所述应用服务的所述第二设备上的/lib目录下分别生成每个所述依赖文件的第二软链接;
根据创建的所述第二软链接,安装所述应用服务;
应用服务监控模块,执行如下操作:
在安装完所述应用服务后,启动所述应用服务;
监控所述应用服务的运行状态,根据监控结果创建相应的空文件,所述空文件的名称表示所述应用服务部署成功与否。
优选地,所述打包模块创建的安装所述应用服务所需的目录和文件包括:lib目录、Program目录和Version目录,在lib目录和Program目录下创建path.txt文件,在Version目录下创建data.txt文件。
优选地,所述打包模块执行的将所述将提取的文件和信息拷贝到创建的所述第一文件夹A下的相应目录和文件中的操作,具体包括如下操作:
将所述应用服务安装时创建的文件拷贝至创建的所述第一文件夹A下的Program目录下;
将所述应用服务安装时创建的文件的安装路径信息写入所述第一文件夹A下的Program目录下的path.txt文件;
将提取的依赖文件拷贝到创建的所述第一文件夹A下的lib目录下;
所述依赖文件的安装路径信息写入所述第一文件夹A下的lib目录下的path.txt文件;
将所述Linux发行版本信息和所述Linux内核版本信息写入所述第一文件夹A下的Version目录下的data.txt文件;
如果提取到创建的用户的信息,将创建的用户的信息写入所述第一文件夹A下的Version目录下的data.txt文件。
与现有技术相对比,本发明的有益效果如下:
1.本发明将每个服务做成单个的安装包,使制作更独立,方便问题查找;
2.本发明将安装应用服务所需的文件和信息压缩在一个文件夹中,使得本该在不同目录下存放的文件,存放于同一目录下,方便管理,便于卸载。
3.本发明对于在制作安装包前安装应用服务时创建的文件和依赖文件,在待部署设备上分别在不同的目录生成软链接,在卸载时,删除第二文件夹,可以删除所有文件,而仅有依赖文件的软链接残留,而软链接所占空间很小,不会残留大量垃圾文件。
附图说明
图1是本发明应用服务部署方法的一个实施例的安装包制作流程图;
图2是本发明应用服务部署方法的一个实施例的安装包安装流程图;
图3是本发明应用服务部署方法的一个实施例制作安装包过程创建的目录结构示意图;
图4是本发明应用服务部署装置的一个实施例的框图。
具体实施方式
下面结合附图1-4,对本发明的具体实施方式作详细的说明。
本发明提供了一种应用服务部署方法,包括如下步骤:
安装包制作步骤,
步骤S100,在第一设备上安装所述应用服务;
步骤S200,提取所述应用服务的依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息;
提取的上述文件,均用于在待部署设备上安装应用服务所需的文件,而路径信息将在制作安装包时,保存到相应的文件中,用于安装应用服务时,根据这些路径信息,查找文件、在相应路径下生成软链接;
步骤S300,在所述第一设备上创建第一文件夹A,在所述第一文件夹A里创建安装所述应用服务所需的目录和文件,所述应用服务所需的目录和文件的名称与安装脚本中定义的目录和文件的名称一致;
根据文件的类型,创建不同的目录,比如对于安装时创建的文件,统一放在一个目录下,依赖文件放在一个目录下,配置文件放在一个目录下,便于据此生成安装包后,在待部署设备上运行的安装脚本调用相应的文件,方便开发人员管理;
步骤S400,将步骤S200中提取的所述应用服务的依赖文件及其安装路径信息和所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息拷贝到创建的所述第一文件夹A下的相应目录和文件中;
拷贝的文件用于安装脚本调用,而拷贝的路径信息,便于安装脚本在相应目录下生成软链接,依赖文件的安装路径信息用于在待部署设备的相应目录下查找依赖文件。
步骤S500,压缩创建的所述第一文件夹A为压缩安装包,所述压缩采用的压缩格式与待部署所述应用服务的第二设备协商一致;
安装包发送步骤,
步骤S600,将所述压缩安装包发送至待部署所述应用服务的所述第二设备上;
安装包安装步骤,
步骤S700:在待部署所述应用服务的所述第二设备上运行所述安装脚本,所述安装脚本执行如下操作:
步骤S701:解压缩所述压缩安装包为第二文件夹,获取所述依赖文件及其安装路径信息、所述所述应用服务安装时创建的文件及其安装路径信息,以及所述Linux发行版本信
息和所述Linux内核版本信息;
将所有安装时需要的文件均放置一个文件夹中,方便管理,在应用服务卸载时,为避免残留文件,只需将第二文件夹直接删除,即可删除所有安装应用服务时需要的原始文件;
步骤S702:
将获取的所述Linux发行版本信息和所述Linux内核版本信息与所述待部署所述应用服务的所述第二设备上的Linux发行版本信息和Linux内核版本信息分别进行对比:
如果均一致,则部署所述应用服务;
否则,结束所述安装脚本的运行,退出所述应用程序的部署;如果所述Linux发行版本信息和所述Linux内核版本信息有一个不一致,则说明待部署设备不支持该安装包的安装。
所述部署所述应用服务包括如下步骤:
在所述第二设备的相应路径下分别生成每个所述应用服务安装时创建的文件的第一软链接;
访问每个所述应用服务安装时创建的文件的第一软链接,就会访问到该软链接对应的文件;采用软链接方式,可以减少应用卸载时留下大量垃圾文件,引用软链接占用的空间很小,对每个文件都生成一个软链接,即使有残留也只是残留占用空间很小的软链接,大大降低了垃圾文件的大小;当然,开发人员也可以编写脚本,将残留的失效软链接进行删除,该技术方案不是本发明的重点,这里不再进行阐述。
在所述第二设备中依赖文件的安装路径下,查找获取的所述依赖文件,如果不存在,则分别生成每个所述依赖文件的第二软链接;
对于依赖文件不存在的情况,每个依赖文件生成第二软链接,减少卸载时留下占用空间大的垃圾文件;如果依赖文件在所述第二设备上存在,则可以直接使用;
安装所述应用服务;
根据上述软链接,可以获取安装所述应用服务所需的所有文件,直接安装所述应用服务即可。
作为优选实施方式,所述部署所述应用服务具体包括如下步骤:
S710:根据所述应用服务安装时创建的文件的安装路径信息,在所述第二设备的对应路径
上分别生成每个所述应用服务安装时创建的文件的第一软链接;
S711:在所述待部署所述应用服务的所述第二设备上的依赖文件的安装路径下查找获取的所述依赖文件:
如果在所述第二设备的依赖文件的安装路径下存在所述依赖文件,
则根据创建的所述第一软链接和所述第二设备上的所述依赖文件,安装所述应用服务;
否则,
在所述待部署所述应用服务的所述第二设备上的/lib目录下分别生成每个所述依赖文件的第二软链接;
根据创建的所述第一软链接和所述第二软链接,安装所述应用服务。
如果在第二设备上可以找到依赖文件,则可以直接使用,说明这些文件是其他应用服务所需要的,在卸载所述应用服务时,也无需卸载。如果没有找到,则在/lib下生成软链接,避免卸载所述应用服务时产生占用空间大的垃圾文件;
作为优选实施方式,还包括:
在步骤S300之前,判断是否创建了用户,如果创建了用户,在所述第一设备上获取创建的用户的信息,并写入创建的所述第一文件夹A下的相应目录的文件中;
在步骤S710和步骤S711之间,判断是否获取了创建的用户的信息,如果获取到创建的用户的信息,根据创建的用户的信息,创建用户。
如果在第一设备上应用服务的安装过程中,创建了用户,那么在待部署的第二设备上,也要由安装脚本创建用户,因此,制作安装包时,需要判断是否创建了用户,如果创建了,
则获取创建的用户的信息,用于在第二设备上运行的安装脚本根据该信息创建用户。
作为优选实施方式,在步骤S300中,创建的安装所述应用服务所需的目录和文件包括:lib目录、Program目录和Version目录,在lib目录和Program目录下分别创建path.txt文件,在Version目录下创建data.txt文件。这里,所创建的目录和文件名称,只要与安装脚本中定义的一致即可,但根据开发者的开发习惯,可以定义成如此形式,以便于开发者管理。
作为优选实施方式,步骤S400具体包括如下操作:
将所述应用服务安装时创建的文件拷贝至创建的所述第一文件夹A下的Program目录下;
将所述应用服务安装时创建的文件的安装路径信息写入所述第一文件夹A下的Program目录下的path.txt文件;
将提取的依赖文件拷贝到创建的所述第一文件夹A下的lib目录下;
所述依赖文件的安装路径信息写入所述第一文件夹A下的lib目录下的path.txt文件;
将创建的用户的信息、所述Linux发行版本信息和所述Linux内核版本信息写入所述第一文件夹A下的Version目录下的data.txt文件。
作为优选实施方式,在步骤S710中,更改所述应用服务安装时创建的可执行文件的权限为最大权限777,可执行文件包括可运行的ELF文件。可执行文件被拷贝后,在有些情况下,文件属性会发生变化,会被视为一般的文件,变得不执行,这里做的更改是,无论可执行文件当前的属性是什么,都把它的属性更改为777,最大权限,以便它可执行。
作为优选实施方式,在步骤S700之后,还包括步骤S800,在安装完所述应用服务后,启动所述应用服务,并监控所述应用服务的运行状态,根据监控结果创建相应的空文件,所述空文件的名称表示所述应用服务部署成功与否。
此处,为了监控安装的应用服务是否正常运行,根据监控结果创建一个空文件,以减小所占用的空间,通过文件名称,可以直接判断出应用服务是否部署成功,比如,文件名可以定义为success表示成功,unsuccess表示不成功,只要便于理解即可。
本发明提供了一种应用服务部署装置,包括:
提取模块,用于在安装有所述应用服务的第一设备上提取安装所述应用服务所需的信息,包括:
所述应用服务的依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息;
如果创建了用户,还提取创建的用户的信息;
打包模块,执行如下操作:
在所述第一设备上创建第一文件夹A,并在所述第一文件夹A里创建安装所述应用服务所需的目录和文件,所述应用服务所需的目录和文件的名称与安装脚本中定义的目录和文件的名称一致;
将提取的文件和信息拷贝到创建的所述第一文件夹A下的相应目录和文件中;
如果创建了用户,将创建的用户的信息写入创建的所述第一文件夹A下的相应目录的文件中;
压缩所述第一文件夹为压缩安装包,所述压缩采用的压缩格式与所述安装脚本模块预先协商一致;
将所述压缩安装包发送至待部署所述应用服务的第二设备上;
安装脚本模块,执行如下操作:
在待部署所述应用服务的设备上解压缩所述压缩安装包为第二文件夹,获取所述依赖文件及其安装路径信息、所述所述应用服务安装时创建的文件及其安装路径信息,以及所述Linux发行版本信息和所述Linux内核版本信息;
将获取的所述Linux发行版本信息和所述Linux内核版本信息与所述待部署所述应用服务的所述第二设备上的Linux发行版本信息和Linux内核版本信息分别进行对比:
如果均一致,则部署所述应用服务;
否则,结束所述安装脚本的运行,退出所述应用程序的部署;
所述部署所述应用服务包括如下步骤:
根据所述应用服务安装时创建的文件的安装路径信息,在所述第二设备的对应路径上,分别生成每个所述应用服务安装时创建的文件的第一软链接;
更改所述应用服务安装时创建的可执行文件的权限为最大权限777;
在所述待部署所述应用服务的所述第二设备上的依赖文件的安装路径下查找获取的所述依赖文件:
如果在该文件夹中存在所述依赖文件,
则安装所述应用服务;
否则,
在所述待部署所述应用服务的所述第二设备上的/lib目录下分别生成每个所述依赖文件的第二软链接;
根据创建的所述第二软链接,安装所述应用服务;
应用服务监控模块,执行如下操作:
在安装完所述应用服务后,启动所述应用服务;
监控所述应用服务的运行状态,根据监控结果创建相应的空文件,所述空文件的名称表示所述应用服务部署成功与否。
作为优选实施方式,所述打包模块创建的安装所述应用服务所需的目录和文件包括:lib目录、Program目录和Version目录,在lib目录和Program目录下创建path.txt文件,在Version目录下创建data.txt文件。
作为优选实施方式,所述打包模块执行的将所述将提取的文件和信息拷贝到创建的所述第一文件夹A下的相应目录和文件中的操作,具体包括如下操作:
将所述应用服务安装时创建的文件拷贝至创建的所述第一文件夹A下的Program目录下;
将所述应用服务安装时创建的文件的安装路径信息写入所述第一文件夹A下的Program目录下的path.txt文件;
将提取的依赖文件拷贝到创建的所述第一文件夹A下的lib目录下;
所述依赖文件的安装路径信息写入所述第一文件夹A下的lib目录下的path.txt文件;
将所述Linux发行版本信息和所述Linux内核版本信息写入所述第一文件夹A下的Version目录下的data.txt文件;
如果提取到创建的用户的信息,将创建的用户的信息写入所述第一文件夹A下的Version目录下的data.txt文件。
实施例1
参照附图1-3,根据本发明的一个具体实施方案,下面对本发明应用服务部署方法进行详细说明。
本发明提供了一种应用服务部署方法,包括如下步骤:
安装包制作步骤,
步骤S100,在第一设备上安装所述应用服务;
步骤S200,提取所述应用服务的依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息;
提取的上述文件,均用于在待部署设备上安装应用服务所需的文件,而路径信息将在制作安装包时,保存到相应的文件中,用于安装应用服务时,根据这些路径信息,查找文件、在相应路径下生成软链接;
判断是否创建了用户,如果创建了用户,在所述第一设备上获取创建的用户的信息,并写入创建的所述第一文件夹A下的相应目录的文件中;
步骤S300,在所述第一设备上创建第一文件夹A,在所述第一文件夹A里创建安装所述应用服务所需的目录和文件,所述应用服务所需的目录和文件的名称与安装脚本中定义的目录和文件的名称一致;
根据文件的类型,创建不同的目录,比如对于安装时创建的文件,统一放在一个目录下,依赖文件放在一个目录下,配置文件放在一个目录下,便于据此生成安装包后,在待部署设备上运行的安装脚本调用相应的文件,方便开发人员管理;
创建的安装所述应用服务所需的目录和文件包括:lib目录、Program目录和Version目录,在lib目录和Program目录下分别创建path.txt文件,在Version目录下创建data.txt文件。
步骤S400,将步骤S200中提取的所述应用服务的依赖文件及其安装路径信息和所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息拷贝到创建的所述第一文件夹A下的相应目录和文件中;
步骤S400具体包括如下操作:
将所述应用服务安装时创建的文件拷贝至创建的所述第一文件夹A下的Program目录下;
将所述应用服务安装时创建的文件的安装路径信息写入所述第一文件夹A下的Program目录下的path.txt文件;
将提取的依赖文件拷贝到创建的所述第一文件夹A下的lib目录下;
所述依赖文件的安装路径信息写入所述第一文件夹A下的lib目录下的path.txt文件;
将创建的用户的信息、所述Linux发行版本信息和所述Linux内核版本信息写入所述第一文件夹A下的Version目录下的data.txt文件。
拷贝的文件用于安装脚本调用,而拷贝的路径信息,便于安装脚本在相应目录下生成软链接,依赖文件的安装路径信息用于在待部署设备的相应目录下查找依赖文件。
步骤S500,压缩创建的所述第一文件夹A为压缩安装包,所述压缩采用的压缩格式与待部署所述应用服务的第二设备协商一致;
安装包发送步骤,
步骤S600,将所述压缩安装包发送至待部署所述应用服务的所述第二设备上;
安装包安装步骤,
步骤S700:在待部署所述应用服务的所述第二设备上运行所述安装脚本,所述安装脚本执行如下操作:
步骤S701:解压缩所述压缩安装包为第二文件夹,获取所述依赖文件及其安装路径信息、所述所述应用服务安装时创建的文件及其安装路径信息,以及所述Linux发行版本信息和所述Linux内核版本信息;
将所有安装时需要的文件均放置一个文件夹中,方便管理,在应用服务卸载时,为避免残留文件,只需将第二文件夹直接删除,即可删除所有安装应用服务时需要的原始文件;
步骤S702:
将获取的所述Linux发行版本信息和所述Linux内核版本信息与所述待部署所述应用服务的所述第二设备上的Linux发行版本信息和Linux内核版本信息分别进行对比:
如果均一致,则部署所述应用服务;
否则,结束所述安装脚本的运行,退出所述应用程序的部署;如果所述Linux发行版本信息和所述Linux内核版本信息有一个不一致,则说明待部署设备不支持该安装包的安装。
所述部署所述应用服务包括如下步骤:
S710:根据所述应用服务安装时创建的文件的安装路径信息,在所述第二设备的对应路径上分别生成每个所述应用服务安装时创建的文件的第一软链接;更改所述应用服务安装时创建的可执行文件的权限为最大权限777,可执行文件包括可运行的ELF文件。
访问每个所述应用服务安装时创建的文件的第一软链接,就会访问到该软链接对应的文件;采用软链接方式,可以减少应用卸载时留下大量垃圾文件,引用软链接占用的空间很小,对每个文件都生成一个软链接,即使有残留也
只是残留占用空间很小的软链接,大大降低了垃圾文件的大小;
在步骤S710和步骤S711之间,判断是否获取了创建的用户的信息,如果获取到创建的用户的信息,根据创建的用户的信息,创建用户;如果在第一设备上应用服务的安装过程中,创建了用户,那么在待部署的第二设备上,也要由安装脚本创建用户,因此,制作安装包时,需要判断是否创建了用户,如果创建了,则获取创建的用户的信息,用于在第二设备上运行的安装脚本根据该信息创建用户。
S711:在所述待部署所述应用服务的所述第二设备上的依赖文件的安装路径下查找获取的所述依赖文件:
如果在所述第二设备的依赖文件的安装路径下存在所述依赖文件,
则根据创建的所述第一软链接和所述第二设备上的所述依赖文件,安装所述应用服务;如果在第二设备上可以找到依赖文件,则可以直接使用,说明这些文件是其他应用服务所需要的,在卸载所述应用服务时,也无需卸载。
否则,
在所述待部署所述应用服务的所述第二设备上的/lib目录下分别生成每个所述依赖文件的第二软链接;
对于依赖文件不存在的情况,每个依赖文件生成第二软链接,减少卸载时留下占用空间大的垃圾文件;如果依赖文件在所述第二设备上存在,则可以直接使用;
根据创建的所述第一软链接和所述第二软链接,安装所述应用服务。
步骤S800,在安装完所述应用服务后,启动所述应用服务,并监控所述应用服务的运行状态,根据监控结果创建相应的空文件,所述空文件的名称表示所述应用服务部署成功与否。
此处,为了监控安装的应用服务是否正常运行,根据监控结果创建一个空文件,以减小所占用的空间,通过文件名称,可以直接判断出应用服务是否部署成功,文件名定义为success表示成功,unsuccess表示不成功。
实施例2
参照附图3-4,根据本发明的一个具体实施方案,下面对本发明应用服务部署方装置进行详细说明。
本发明提供了一种应用服务部署装置,包括:
提取模块,用于在安装有所述应用服务的第一设备上提取安装所述应用服务所需的信息,包括:
所述应用服务的依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息;
如果创建了用户,还提取创建的用户的信息;
打包模块,执行如下操作:
在所述第一设备上创建第一文件夹A,并在所述第一文件夹A里创建安装所述应用服务所需的目录和文件,所述应用服务所需的目录和文件的名称与安装脚本中定义的目录和文件的名称一致;所述打包模块创建的安装所述应用服务所需的目录和文件包括:lib目录、Program目录和Version目录,在lib目录和Program目录下创建path.txt文件,在Version目录下创建data.txt文件。
将提取的文件和信息拷贝到创建的所述第一文件夹A下的相应目录和文件中;具体包括如下操作:
将所述应用服务安装时创建的文件拷贝至创建的所述第一文件夹A下的Program目录下;
将所述应用服务安装时创建的文件的安装路径信息写入所述第一文件夹A下的Program目录下的path.txt文件;
将提取的依赖文件拷贝到创建的所述第一文件夹A下的lib目录下;
所述依赖文件的安装路径信息写入所述第一文件夹A下的lib目录下的path.txt文件;
将所述Linux发行版本信息和所述Linux内核版本信息写入所述第一文件夹A下的Version目录下的data.txt文件;
如果创建了用户,将创建的用户的信息写入创建的所述第一文件夹A下的相应目录的文件中;具体为:将创建的用户的信息写入所述第一文件夹A下的Version目录下的data.txt文件;
压缩所述第一文件夹为压缩安装包,所述压缩采用的压缩格式与所述安装脚本模块预先协商一致;
将所述压缩安装包发送至待部署所述应用服务的第二设备上;
安装脚本模块,执行如下操作:
在待部署所述应用服务的设备上解压缩所述压缩安装包为第二文件夹,获取所述依赖文件及其安装路径信息、所述所述应用服务安装时创建的文件及其安装路径信息,以及所述Linux发行版本信息和所述Linux内核版本信息;
将获取的所述Linux发行版本信息和所述Linux内核版本信息与所述待部署所述应用服务的所述第二设备上的Linux发行版本信息和Linux内核版本信息分别进行对比:
如果均一致,则部署所述应用服务;
否则,结束所述安装脚本的运行,退出所述应用程序的部署;
所述部署所述应用服务包括如下步骤:
根据所述应用服务安装时创建的文件的安装路径信息,在所述第二设备的对应路径上,分别生成每个所述应用服务安装时创建的文件的第一软链接;
更改所述应用服务安装时创建的可执行文件的权限为最大权限777;
在所述待部署所述应用服务的所述第二设备上的依赖文件的安装路径下查找获取的所述依赖文件:
如果在该文件夹中存在所述依赖文件,
则安装所述应用服务;
否则,
在所述待部署所述应用服务的所述第二设备上的/lib目录下分别生成每个所述依赖文件的第二软链接;
根据创建的所述第二软链接,安装所述应用服务;
应用服务监控模块,执行如下操作:
在安装完所述应用服务后,启动所述应用服务;
监控所述应用服务的运行状态,根据监控结果创建相应的空文件,所述空文件的名称表示所述应用服务部署成功与否。
实施例3
根据本发明的另一实施方案,下面对本发明的应用服务部署方法进行详细说明。该实施方案部署的应用服务为dns服务,需要制作一个centos6.9下的dns的安装包。制作安装包和安装该安装包的两个过程均由脚本完成,当然,制作安装包和安装该安装包二者中任何一个也可以手动完成,比如,安装脚本所执行的操作,也可以手动完成,只是会耗费大量时间,而在实际操作中,开发者也多利用脚本来完成,但是无论由脚本完成,还是手动完成,只要按照本发明所列的步骤进行,都属于本发明保护的范围。
先安装一个centos6.9虚拟机,在上面安装好应用服务dns后,查看安装过程创建了哪些文件(不包括依赖),是否创建了用户,如果创建了,查看创建的用户的信息,查看下需要哪些依赖,并记录这些依赖的路径,查看下内核版本号。
在centos6.9虚拟机上创建一个dns文件夹,在dns文件夹下创建Program目录、lib目录和Version目录;
把安装过程创建的文件都放到该文件夹下Program目录下,并在Program目录下的path.txt文件中记录原始的路径信息;
把创建的用户信息、内核版本号、发行版本(centos6.9)记录在Version目录下的data.txt文件中;
把依赖文件放在lib目录下,依赖的路径信息也放在该目录下的path.txt文件中;
以zip格式打包文件夹dns,生成dns.zip。
把安装包dns.zip上传到在靶机(用于部署应用服务的设备,也是centos6.9)上,在创建的一个空目录dns下解压安装包dns.zip,先根据Version目录下data.txt文件中记录的版本信息和内核信息,与当前靶机的环境是否一致,不一致就停止安装。
如果一致,则根据Program目录下记录的路径信息,对于Program目录下的所有文件,在对应的路径位置上生成软链接,对于可执行文件,还要更改文件属性为777;
然后根据lib目录下记录的路径信息,如果在靶机的对应路径下的存在依赖文件,则直接安装应用服务,否则在/lib目录下生成每个依赖文件的软链接。
安装完应用服务,启动服务,查看服务状态,判断服务是否被启动,在dns目录下创建一个空文件,名称为success,说明服务启动成功。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种应用服务部署方法,其特征在于,包括如下步骤:
安装包制作步骤,
步骤S100,在第一设备上安装所述应用服务;
步骤S200,提取所述应用服务的依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息;
步骤S300,在所述第一设备上创建第一文件夹A,在所述第一文件夹A里创建安装所述应用服务所需的目录和文件,所述应用服务所需的目录和文件的名称与安装脚本中定义的目录和文件的名称一致;
步骤S400,将步骤S200中提取的所述应用服务的依赖文件及其安装路径信息和所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息拷贝到创建的所述第一文件夹A下的相应目录和文件中;
步骤S500,压缩创建的所述第一文件夹A为压缩安装包,所述压缩采用的压缩格式与待部署所述应用服务的第二设备协商一致;
安装包发送步骤,
步骤S600,将所述压缩安装包发送至待部署所述应用服务的所述第二设备上;
安装包安装步骤,
步骤S700,在待部署所述应用服务的所述第二设备上运行所述安装脚本,进行安装包的安装;
所述安装脚本执行如下操作:
步骤S701:解压缩所述压缩安装包为第二文件夹,获取所述依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述Linux发行版本信息和所述Linux内核版本信息;
步骤S702:
将获取的所述Linux发行版本信息和所述Linux内核版本信息与所述待部署所述应用服务的所述第二设备上的Linux发行版本信息和Linux内核版本信息分别进行对比:
如果均一致,则部署所述应用服务;
否则,结束所述安装脚本的运行,退出所述应用程序的部署;
所述部署所述应用服务包括如下步骤:
在所述第二设备的相应路径下分别生成每个所述应用服务安装时创建的文件的第一软链接;
在所述第二设备中依赖文件的安装路径下,查找获取的所述依赖文件,如果不存在,则分别生成每个所述依赖文件的第二软链接;
安装所述应用服务。
2.根据权利要求1所述的应用服务部署方法,其特征在于,所述部署所述应用服务具体包括如下步骤:
S710:根据所述应用服务安装时创建的文件的安装路径信息,在所述第二设备的对应路径上分别生成每个所述应用服务安装时创建的文件的第一软链接;
S711:在所述待部署所述应用服务的所述第二设备上的依赖文件的安装路径下查找获取的所述依赖文件:
如果在所述第二设备的依赖文件的安装路径下存在所述依赖文件,
则根据创建的所述第一软链接和所述第二设备上的所述依赖文件,安装所述应用服务;
否则,
在所述待部署所述应用服务的所述第二设备上的/lib目录下分别生成每个所述依赖文件的第二软链接;
根据创建的所述第一软链接和所述第二软链接,安装所述应用服务。
3.根据权利要求1所述的应用服务部署方法,其特征在于,还包括:
在步骤S300之前,判断是否创建了用户,如果创建了用户,在所述第一设备上获取创建的用户的信息,并写入创建的所述第一文件夹A下的相应目录的文件中;
在步骤S710和步骤S711之间,判断是否获取了创建的用户的信息,如果获取到创建的用户的信息,根据创建的用户的信息,创建用户。
4.根据权利要求3所述的应用服务部署方法,其特征在于,在步骤S300中,创建的安装所述应用服务所需的目录和文件包括:lib目录、Program目录和Version目录,在lib目录和Program目录下分别创建path.txt文件,在Version目录下创建data.txt文件。
5.根据权利要求4所述的应用服务部署方法,其特征在于,步骤S400具体包括如下操作:
将所述应用服务安装时创建的文件拷贝至创建的所述第一文件夹A下的Program目录下;
将所述应用服务安装时创建的文件的安装路径信息写入所述第一文件夹A下的Program目录下的path.txt文件;
将提取的依赖文件拷贝到创建的所述第一文件夹A下的lib目录下;
所述依赖文件的安装路径信息写入所述第一文件夹A下的lib目录下的path.txt文件;
将创建的用户的信息、所述Linux发行版本信息和所述Linux内核版本信息写入所述第一文件夹A下的Version目录下的data.txt文件。
6.根据权利要求1所述的应用服务部署方法,其特征在于,在步骤S710中,更改所述应用服务安装时创建的可执行文件的权限为最大权限777。
7.根据权利要求1所述的应用服务部署方法,其特征在于,在步骤S700之后,还包括步骤S800,在安装完所述应用服务后,启动所述应用服务,并监控所述应用服务的运行状态,根据监控结果创建相应的空文件,所述空文件的名称表示所述应用服务部署成功与否。
8.一种应用服务部署装置,其特征在于,包括:
提取模块,用于在安装有所述应用服务的第一设备上提取安装所述应用服务所需的信息,包括:
所述应用服务的依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述第一设备上的Linux发行版本信息和Linux内核版本信息;
如果创建了用户,还提取创建的用户的信息;
打包模块,执行如下操作:
在所述第一设备上创建第一文件夹A,并在所述第一文件夹A里创建安装所述应用服务所需的目录和文件,所述应用服务所需的目录和文件的名称与安装脚本中定义的目录和文件的名称一致;
将提取的文件和信息拷贝到创建的所述第一文件夹A下的相应目录和文件中;
如果创建了用户,将创建的用户的信息写入创建的所述第一文件夹A下的相应目录的文件中;
压缩所述第一文件夹为压缩安装包,所述压缩采用的压缩格式与所述安装脚本模块预先协商一致;
将所述压缩安装包发送至待部署所述应用服务的第二设备上;
安装脚本模块,执行如下操作:
在待部署所述应用服务的设备上解压缩所述压缩安装包为第二文件夹,获取所述依赖文件及其安装路径信息、所述应用服务安装时创建的文件及其安装路径信息,以及所述Linux发行版本信息和所述Linux内核版本信息;
将获取的所述Linux发行版本信息和所述Linux内核版本信息与所述待部署所述应用服务的所述第二设备上的Linux发行版本信息和Linux内核版本信息分别进行对比:
如果均一致,则部署所述应用服务;
否则,结束所述安装脚本的运行,退出所述应用程序的部署;
所述部署所述应用服务包括如下步骤:
根据所述应用服务安装时创建的文件的安装路径信息,在所述第二设备的对应路径上,分别生成每个所述应用服务安装时创建的文件的第一软链接;
更改所述应用服务安装时创建的可执行文件的权限为最大权限777;
在所述待部署所述应用服务的所述第二设备上的依赖文件的安装路径下查找获取的所述依赖文件:
如果在该文件夹中存在所述依赖文件,则安装所述应用服务;
否则,
在所述待部署所述应用服务的所述第二设备上的/lib目录下分别生成每个所述依赖文件的第二软链接;
根据创建的所述第二软链接,安装所述应用服务;
应用服务监控模块,执行如下操作:
在安装完所述应用服务后,启动所述应用服务;
监控所述应用服务的运行状态,根据监控结果创建相应的空文件,所述空文件的名称表示所述应用服务部署成功与否。
9.根据权利要求8所述的应用服务部署装置,其特征在于,所述打包模块创建的安装所述应用服务所需的目录和文件包括:lib目录、Program目录和Version目录,在lib目录和Program目录下创建path.txt文件,在Version目录下创建data.txt文件。
10.根据权利要求9所述的应用服务部署装置,其特征在于,所述打包模块执行的将所述将提取的文件和信息拷贝到创建的所述第一文件夹A下的相应目录和文件中的操作,具体包括如下操作:
将所述应用服务安装时创建的文件拷贝至创建的所述第一文件夹A下的Program目录下;
将所述应用服务安装时创建的文件的安装路径信息写入所述第一文件夹A下的Program目录下的path.txt文件;
将提取的依赖文件拷贝到创建的所述第一文件夹A下的lib目录下;
所述依赖文件的安装路径信息写入所述第一文件夹A下的lib目录下的path.txt文件;
将所述Linux发行版本信息和所述Linux内核版本信息写入所述第一文件夹A下的Version目录下的data.txt文件;
如果提取到创建的用户的信息,将创建的用户的信息写入所述第一文件夹A下的Version目录下的data.txt文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011233837.2A CN112286543B (zh) | 2020-11-06 | 2020-11-06 | 一种应用服务部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011233837.2A CN112286543B (zh) | 2020-11-06 | 2020-11-06 | 一种应用服务部署方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286543A CN112286543A (zh) | 2021-01-29 |
CN112286543B true CN112286543B (zh) | 2021-11-02 |
Family
ID=74351695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011233837.2A Active CN112286543B (zh) | 2020-11-06 | 2020-11-06 | 一种应用服务部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286543B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806304B (zh) * | 2021-08-23 | 2023-07-18 | 北京天融信网络安全技术有限公司 | 一种获取软件文件路径的方法及系统 |
CN114707123A (zh) * | 2022-04-22 | 2022-07-05 | 北京时代亿信科技股份有限公司 | 软件安装包的验证方法及装置、非易失性存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484212A (zh) * | 2014-12-30 | 2015-04-01 | 福州瑞芯微电子有限公司 | 外部存储文件安装和清除的方法及装置 |
CN106406960A (zh) * | 2016-09-28 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种linux环境中快速部署软件的方法 |
CN107391161A (zh) * | 2016-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种JavaScript模块安装方法及装置 |
CN110147240A (zh) * | 2019-04-30 | 2019-08-20 | 广州微算互联信息技术有限公司 | 基于云存储的应用程序安装方法、系统及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069635B2 (en) * | 2012-04-09 | 2015-06-30 | Autodesk, Inc. | Process for compressing application deployments |
-
2020
- 2020-11-06 CN CN202011233837.2A patent/CN112286543B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484212A (zh) * | 2014-12-30 | 2015-04-01 | 福州瑞芯微电子有限公司 | 外部存储文件安装和清除的方法及装置 |
CN107391161A (zh) * | 2016-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种JavaScript模块安装方法及装置 |
CN106406960A (zh) * | 2016-09-28 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种linux环境中快速部署软件的方法 |
CN110147240A (zh) * | 2019-04-30 | 2019-08-20 | 广州微算互联信息技术有限公司 | 基于云存储的应用程序安装方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112286543A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101143112B1 (ko) | 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법 | |
US8296758B2 (en) | Deployment and versioning of applications | |
US10114630B2 (en) | Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine | |
US6314567B1 (en) | Apparatus and method for transferring state data when performing on-line replacement of a running program code and data | |
US6269442B1 (en) | Apparatus and method for on-line replacement of a running program code and data using checkpoints | |
WO2007117514A1 (en) | Mobile device capable of multiple updates | |
CN112286543B (zh) | 一种应用服务部署方法及装置 | |
JP2008502968A (ja) | 中間オブジェクト指向言語を備えるソフトウェアをポータブル・デバイスにロードするための方法 | |
JP2004158012A (ja) | ソフトウェアアプリケーション管理のためのシステムおよび方法 | |
CN113642004B (zh) | 一种容器镜像安全扫描与修复的方法、装置及设备 | |
CN110597544A (zh) | 一种软件系统升级方法及装置 | |
CN112256359A (zh) | 微服务合并方法、装置、电子设备及可读存储介质 | |
CN111399860A (zh) | 轻应用部署方法、装置、计算机设备和存储介质 | |
CN113867768A (zh) | 操作系统处理方法、装置、电子设备及存储介质 | |
CN113419766A (zh) | 智能更新程序逻辑的方法、装置、设备及存储介质 | |
CN112328284A (zh) | 应用程序升级方法、系统、设备和存储介质 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN115145596A (zh) | 一种机器人升级包ota升级方法及设备 | |
US9940334B2 (en) | Image forming apparatus and control method thereof | |
CN111382079B (zh) | 应用程序现场还原的方法、装置、设备及存储介质 | |
US8190587B1 (en) | In-place image promotion | |
CN111752548A (zh) | 一种sdk嵌入方法及装置、计算机可读存储介质 | |
CN113076109B (zh) | 一种跨平台的部署脚本语言的方法 | |
CN113127054B (zh) | 一种文件处理方法和相关装置 | |
CN118012457A (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 |