CN110865840B - 一种应用管理方法、装置、服务器及存储介质 - Google Patents

一种应用管理方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN110865840B
CN110865840B CN201911129804.0A CN201911129804A CN110865840B CN 110865840 B CN110865840 B CN 110865840B CN 201911129804 A CN201911129804 A CN 201911129804A CN 110865840 B CN110865840 B CN 110865840B
Authority
CN
China
Prior art keywords
application
script
deployed
server
management
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
Application number
CN201911129804.0A
Other languages
English (en)
Other versions
CN110865840A (zh
Inventor
董慧智
张玉坡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yiwu China Small Commodity City Big Data Co ltd
Original Assignee
Yiwu China Small Commodity City Big Data Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yiwu China Small Commodity City Big Data Co ltd filed Critical Yiwu China Small Commodity City Big Data Co ltd
Priority to CN201911129804.0A priority Critical patent/CN110865840B/zh
Publication of CN110865840A publication Critical patent/CN110865840A/zh
Application granted granted Critical
Publication of CN110865840B publication Critical patent/CN110865840B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

一种应用管理方法、装置、服务器及存储介质
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种应用管理方法、装置、服务器及存储介质。
背景技术
随着公司业务量的逐渐增多和流量弹性的逐渐增大,基于Kubernetes管理容器化的应用可以较好地降低人力成本和服务器成本,且可以根据线上应用流量的动态变化快速扩容缩容服务器,由此实现了服务器的自动化管理。
Kubernetes作为一个开源的容器集群管理系统,可以集成在容器集群管理服务器中。但是,其在将应用部署到应用服务器的过程中,涉及到很多需要运维人员和/或开发人员手动操作的环节,自动化程度较低的应用管理方式直接影响了上述人员的工作效率。
发明内容
本发明实施例提供了一种应用管理方法、装置、服务器及存储介质,以实现自动化程度较高的应用管理的效果。
第一方面,本发明实施例提供了一种应用管理方法,可以包括:
当监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本,其中,待部署应用是通过预设容器集群管理服务器待部署在应用服务器上的应用;
执行应用管理脚本以对待部署应用进行管理。
可选的,若应用管理脚本是镜像打包脚本,则执行镜像打包脚本以对待部署应用进行管理,可以包括:
获取镜像打包参数,其中,镜像打包参数包括代码仓库和运行环境参数,运行环境参数包括代码运行环境、运行环境版本和容器启动命令;
从代码仓库中下载待部署应用的待打包代码,根据待打包代码和运行环境参数,得到待部署应用的已打包镜像,并将已打包镜像上传至镜像仓库中。
可选的,若应用管理脚本是应用创建脚本,则执行应用创建脚本以对待部署应用进行管理,可以包括:
获取应用创建参数,其中,应用创建参数包括已打包镜像的应用名称和预设容器集群管理服务器的部署环境;
基于预设容器集群管理服务器中的应用创建接口,在部署环境对应的目标集群中创建应用名称,并将应用名称和镜像仓库相关联。
可选的,若应用管理脚本是应用发布脚本,则执行应用发布脚本以对待部署应用进行管理,可以包括:
获取应用发布参数,其中,应用发布参数包括应用名称;
基于预设容器集群管理服务器中的应用发布接口,将应用发布参数发送至预设容器集群管理服务器中,以使预设容器集群管理服务器提取出应用名称关联的镜像仓库中的已打包镜像,并将已打包镜像发布至应用服务器上。
可选的,若应用管理脚本是应用更新脚本,则执行应用更新脚本以对待部署应用进行管理,可以包括:
确定已获取的应用更新参数对应的镜像打包参数,其中,应用更新参数包括应用名称;
从代码仓库中下载待部署应用的已更新代码,根据已更新代码和运行环境参数,得到待部署应用的已更新镜像,并将已更新镜像上传至镜像仓库中;
基于应用发布接口,将应用更新参数发送至预设容器集群管理服务器,以使预设容器集群管理服务器提取出应用名称关联的镜像仓库中的已更新镜像,并将已更新镜像发布至应用服务器上。
可选的,在部署环境对应的目标集群中创建应用名称时,该方法还可包括:
应用创建参数还包括应用日志路径,基于预设日志服务器的日志配置接口,在预设日志服务器上配置应用日志路径对应的应用日志。
可选的,预设容器集群管理服务器包括集成有Kubernetes的服务器。
第二方面,本发明实施例还提供了一种应用管理装置,该装置可以包括:
脚本确定模块,用于当监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本,其中,待部署应用是通过预设容器集群管理服务器待部署在应用服务器上的应用;
应用管理模块,用于执行应用管理脚本以对待部署应用进行管理。
第三方面,本发明实施例还提供了一种服务器,该服务器可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的应用管理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的应用管理方法。
本发明实施例的技术方案,通过监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本,由此,可以执行应用管理脚本以对待部署应用进行应用管理请求对应的管理。上述技术方案解决了在将待部署应用部署到应用服务器的过程中,因涉及到很多的需要操作人员手动操作的环节而带来的工作效率较低的问题,通过执行相应的应用管理脚本以对待部署应用实现全自动的应用管理方式,可以显著提高操作人员的工作效率。
附图说明
图1是本发明实施例一中的一种应用管理方法的流程图;
图2是本发明实施例二中的一种应用管理方法的流程图;
图3是本发明实施例三中的一种应用管理装置的结构框图;
图4是本发明实施例四中的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中提供的一种应用管理方法的流程图。本实施例可适用于对待部署应用进行管理的情况,尤其适用于对通过预设容器集群管理服务器待部署在应用服务器上的待部署应用进行管理的情况。该方法可以由本发明实施例提供的应用管理装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在各种服务器上或是终端上。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、当监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本,其中,待部署应用是通过预设容器集群管理服务器待部署在应用服务器上的应用。
其中,预设容器集群管理服务器可以对容器化的待部署应用进行管理,比如,将待部署应用部署在各个应用服务器上,即实现待部署应用对应的已打包镜像的自动扩展和自动部署。上述待部署应用可以是通过预设容器集群管理服务器待部署在应用服务器上的应用,上述应用服务器可以是承载有各个应用的服务器。那么,这一过程可能会涉及到与待部署应用对应的镜像打包、应用创建、应用发布、应用更新等应用管理操作。
但是,上述应用管理操作并非是预设容器集群管理服务器可以自动实现的操作,其可以与集成有应用管理装置的服务器或是终端配合工作以自动实现相应的操作,上述应用管理装置可以认为是一个与预设容器集群管理服务器配合使用的自动化运维管理系统,该自动化运维管理系统可以基于Python、C、C++、JAVA等语言开发实现,在此未做具体限定。
因此,应用管理装置可以根据监测到的管理待部署应用的应用管理请求确定对应的应用管理脚本,以便对待部署应用执行相应的应用管理操作。示例性的,若应用管理脚本是镜像打包脚本,则执行镜像打包脚本以对待部署应用进行管理;若应用管理脚本是应用创建脚本,则执行应用创建脚本以对待部署应用进行管理;若应用管理脚本是应用发布脚本,则执行应用发布脚本以对待部署应用进行管理;等等。
上述预设容器集群管理服务器可以是集成有Kubernetes的服务器,基于Kubernetes部署待部署应用的开发环境、测试环境、线上环境等等,可以较好地降低人力成本和服务器成本;可以根据线上应用流量的动态变化快速扩容缩容服务器,实现了服务器的自动化管理;而且,其在Docker容器技术的基础上,可以为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模管理集群应用的便捷性。当然,该预设容器集群管理服务器也可以是其余的可以实现Kubernetes的相似功能和/或具有Kubernetes的相似机制的服务器,在此未做具体限定。
S120、执行应用管理脚本以对待部署应用进行管理。
其中,正如上文所述,应用管理装置在确定与应用管理请求对应的应用管理脚本后,可执行该应用管理脚本以对待部署应用进行管理,比如,打包镜像、创建应用、发布应用、更新应用等等。由于该应用管理操作可完全地基于应用管理装置自动实现,自动化程度较高的应用管理方式显著减少了需要操作人员手动操作的环节,有效提升了操作人员的工作效率。
在实际应用中,以应用管理装置是一个自动化运维管理系统为例,操作人员可以通过浏览器的登录界面登录到自动化运维管理系统中,然后,在该自动化运维管理系统中通过发起应用管理请求以使自动化运维管理系统执行相应的应用管理脚本。比如,操作人员可通过点击镜像打包按钮来发起镜像打包请求,当自动化运维管理系统监测到镜像打包请求后,则可自动执行对应的镜像打包操作;类似的,操作人员可通过点击应用发布按钮且从下拉条目中选择待发布应用来发起应用发布请求,当自动化运维管理系统监测到应用发布请求后,则可自动执行对应的应用发布操作。
本发明实施例的技术方案,通过监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本,由此,可以执行应用管理脚本以对待部署应用进行应用管理请求对应的管理。上述技术方案解决了在将待部署应用部署到应用服务器的过程中,因涉及到很多的需要操作人员手动操作的环节而带来的工作效率较低的问题,通过执行相应的应用管理脚本以对待部署应用实现全自动的应用管理方式,可以显著提高操作人员的工作效率。
实施例二
图2是本发明实施例二中提供的一种应用管理方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,若应用管理脚本是镜像打包脚本,则执行镜像打包脚本以对待部署应用进行管理,具体可包括:获取镜像打包参数,其中,镜像打包参数包括代码仓库和运行环境参数,运行环境参数包括代码运行环境、运行环境版本和容器启动命令;从代码仓库中下载待部署应用的待打包代码,根据待打包代码和运行环境参数,得到待部署应用的已打包镜像,并将已打包镜像上传至镜像仓库中。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例的方法具体可以包括如下步骤:
S210、当监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本,其中,待部署应用是通过预设容器集群管理服务器待部署在应用服务器上的应用。
S220、若应用管理脚本是镜像打包脚本,获取镜像打包参数,其中,镜像打包参数包括代码仓库和运行环境参数,运行环境参数包括代码运行环境、运行环境版本和容器启动命令。
其中,代码仓库是一个用于存储已开发完成的代码的仓库,该代码仓库中的代码可以是实现功能的代码、修复BUG的代码,更新功能的代码等等,且该代码仓库可以是一个独立的仓库,并非设置于预设容器集群管理服务器中。代码仓库中的代码因为缺少运行环境参数而无法在预设容器集群管理服务器中直接运行,因此,需要对代码仓库中的待打包代码进行打包操作,待打包代码可以是根据应用管理请求从代码仓库中的多个代码中筛选出来的。
运行环境参数可以包括代码运行环境、运行环境版本和容器启动命令,其中,代码运行环境是能够让代码在预设容器集群管理服务器上运行起来的运行环境,比如,JAVA代码的运行环境为GDK,该代码运行环境通常是基础镜像;运行环境版本是运行环境的版本,比如,GDK的版本;而且,预设容器集群管理服务器在将已打包镜像部署在应用服务器时,由于已打包镜像在应用服务器上以容器形式运行,则应用容器在运行时需要告知预设容器集群管理服务器通过什么样的命令来启动代码运行环境和代码后,预设容器集群管理服务器才可以启动代码运行环境和代码,而上述命令即为容器启动命令。
S230、从代码仓库中下载待部署应用的待打包代码,根据待打包代码和运行环境参数,得到待部署应用的已打包镜像,将已打包镜像上传至镜像仓库中。
其中,应用管理装置根据获取到的镜像打包参数,尤其是镜像打包参数中的代码仓库和代码运行环境,可以自动从代码仓库中下载待部署应用的待打包代码,自动生成制作Docker镜像需要的文件,自动打包待部署应用的Docker镜像,得到待部署应用的已打包镜像。也就是说,从代码仓库中下载待部署应用的待打包代码,根据待打包代码和获取到的代码运行环境、运行环境版本和容器启动命令一起生成已打包镜像。上述已打包镜像相当于一个应用程序的安装包,且是与运行环境参数对应的安装包,其可以在预设容器集群管理服务器中直接运行起来。进一步,可以将已打包镜像上传至镜像仓库中,该镜像仓库可以是一个专门用于存储已打包镜像的独立的仓库,以便后续预设容器集群管理服务器从镜像仓库中调取该已打包镜像。
本发明实施例的技术方案,根据获取到的镜像打包参数,可以从代码仓库中下载待部署应用的待打包代码,根据待打包代码和运行环境参数,自动生成待部署应用的已打包镜像且将已打包镜像自动上传至镜像仓库中,该已打包镜像是与镜像打包参数完全匹配的应用镜像,该应用镜像可以是不同环境的应用镜像,自动生成且与实际需求完全匹配的已打包镜像可显著提高工作效率。
一种可选的技术方案,在此基础上,若应用管理脚本是应用创建脚本,则执行应用创建脚本以对待部署应用进行管理,具体可以包括:获取应用创建参数,其中,应用创建参数包括已打包镜像的应用名称和预设容器集群管理服务器的部署环境;基于预设容器集群管理服务器中的应用创建接口,在部署环境对应的目标集群中创建应用名称,并将应用名称和镜像仓库相关联。
其中,在得到待部署应用的已打包镜像后,可以基于该已打包镜像自动创建应用,比如,若预设容器集群管理服务器是集成有Kubernetes的服务器,则可以基于已打包的Docker镜像创建Kubernets应用。具体的,应用管理装置在获取到应用创建参数后,可以调用预设容器集群管理服务器中的应用创建接口,以便在部署环境对应的目标集群中创建已打包镜像的应用名称,并将应用名称和镜像仓库相关联,该部署环境是已打包镜像在预设容器集群管理服务器中的部署环境,其可以是开发环境、线上运行环境、测试环境等等。这样设置的原因在于,若想将待部署应用部署到应用服务器上,需要先创建一个待部署应用,或是说,先创建一个待部署应用的应用名称,这样一来,应用管理装置可以将已打包镜像所在的镜像仓库的地址与应用名称相关联,那么,在应用发布阶段,预设容器集群管理服务器就可以根据应用名称从对应的镜像仓库中拉取对应的已打包镜像来实现应用发布。
在实际应用中,镜像仓库中可能存在多个已打包镜像,则应用管理装置可以根据已获取到的应用创建参数从多个已打包镜像中筛选出与应用创建参数对应的已打包镜像,该应用创建参数可以是操作人员在应用管理装置中直接输入和/或选择。示例性的,在应用管理装置的操作界面中存在一个已打包镜像列表,操作人员可以从该已打包镜像列表中选择一个已打包镜像来创建它的应用。
需要说明的是,应用管理脚本也可以是应用删除脚本,此时,应用管理装置可以根据获取到的应用删除参数确定待删除应用的应用名称,然后,调用预设容器集群管理服务器中的应用删除接口来删除相应的待删除应用。
可选的,在部署环境对应的目标集群中创建应用名称时,上述应用管理方法还可以包括:应用创建参数还包括应用日志路径,基于预设日志服务器的日志配置接口,在预设日志服务器上配置应用日志路径对应的应用日志。
其中,应用创建脚本可以兼顾应用名称的创建和应用日志的配置,也就是说,在部署环境对应的目标集群中创建应用名称时,可以根据应用创建参数中的应用日志路径,调用预设日志服务器的日志配置接口,在预设日志服务器上配置应用日志路径对应的应用日志。上述预设日志服务器可以是一个用于存储、收集、展示日志的独立的平台。这样设置的好处在于,可以在创建应用的同时自动配置应用日志,实现了对应用日志的分类收集分析功能,由此管理分配应用给不同的操作人员实现应用和环境的隔离功能。
示例性的,当监测到应用创建按钮的触发事件且获取到操作人员在操作界面选择的应用名称、部署环境和应用日志路径时,创建应用名称,且调用预设日志服务器的日志配置接口,根据应用日志路径在预设日志服务器上配置应用日志及应用日志收集。这样一来,已启动的预设容器集群管理服务器可以启动一个应用容器,而已启动的应用容器可以启动预设日志客户端,以便将应用日志发送到预设日志服务器中,该预设日志客户端已打包至镜像文件中。
一种可选的技术方案,在此基础上,若应用管理脚本是应用发布脚本,则执行应用发布脚本以对待部署应用进行管理,具体可以包括:获取应用发布参数,其中,应用发布参数包括应用名称;基于预设容器集群管理服务器中的应用发布接口,将应用发布参数发送至预设容器集群管理服务器中,以使预设容器集群管理服务器提取出应用名称关联的镜像仓库中的已打包镜像,并将已打包镜像发布在应用服务器上。
其中,根据应用发布参数,或是说根据应用名称可以确定与该应用名称对应的镜像仓库及该镜像仓库中的已打包镜像。可选的,应用发布参数还可以包括部署环境,此时,可以调用预设容器集群管理服务器中的应用发布接口,将应用发布参数发送至预设容器集群管理服务器中。预设容器集群管理服务器根据应用发布参数,可以从相应的镜像仓库中提取出与部署环境对应的已打包镜像,并将该已打包镜像发布在应用服务器上,由此实现了应用的自动发布。
一种可选的技术方案,在此基础上,若应用管理脚本是应用更新脚本,则执行应用更新脚本以对待部署应用进行管理,具体可以包括:确定已获取的应用更新参数对应的镜像打包参数,其中,应用更新参数包括应用名称;从代码仓库中下载待部署应用的已更新代码,根据已更新代码和运行环境参数,得到待部署应用的已更新镜像,并将已更新镜像上传至镜像仓库中;基于应用发布接口,将应用更新参数发送至预设容器集群管理服务器,以使预设容器集群管理服务器提取出应用名称关联的镜像仓库中的已更新镜像,并将已更新镜像发布在应用服务器上。
其中,已发布应用很可能涉及到应用更新的情况,此时,根据已获取的应用发布参数,尤其是应用发布参数中的应用名称,可以确定与应用发布参数对应的镜像打包参数,镜像打包参数包括代码仓库和运行环境参数。这是因为应用更新过程涉及到的相关参数和应用发布过程涉及到的相关参数是一致的,应用更新只是代码层面的更新,因此,可以沿用应用发布过程的镜像打包参数实现已更新代码的镜像打包。
进一步,根据镜像打包参数再次执行镜像打包脚本,比如,从代码仓库中下载待部署应用的已更新代码,根据已更新代码和运行环境参数,得到待部署应用的已更新镜像,并将已更新镜像上传至镜像仓库中。
再进一步,由于在预设容器集群管理服务器中已创建待部署应用的应用名称,则无需再次执行应用创建脚本,可以直接执行应用发布脚本,比如,基于应用发布接口,将应用更新参数发送至预设容器集群管理服务器,以使预设容器集群管理服务器提取出应用名称关联的镜像仓库中的已更新镜像,并将已更新镜像发布在应用服务器上,由此实现应用的自动更新。
综上而言,若是将待部署应用第一次发布在应用服务器上,通常需要依次执行镜像打包脚本、应用创建脚本和应用发布脚本;相应的,若是对应用服务器上的应用进行更新,即将待部署应用再次发布在应用服务器上,则通常只需要执行镜像打包脚本和应用发布脚本。实际上,应用更新过程也可以理解为一次应用发布过程,在应用发布过程中,应用管理装置还可以调用预设容器集群管理服务器中的日志输出接口,实时输出发布过程日志。在发布完成后,还可以通过内部通讯平台发送发布成功通知消息。
一种可选的技术方案,以集成有Kubernetes的服务器为例,Kubernetes未提供图形化管理工具,日常管理维护Kuberntes应用都需要通过执行命令的方式才能完成,通过kuberntes发布的应用也不能直接方便的登录,给操作人员的调试带来不便。为解决这一问题,上述应用管理方法还可以提供一个应用图形化的在线终端,比如,当监测到在线终端显示请求时,可以自动启动一个用于执行命令的在线终端,该在线终端是一个虚拟终端,其可以通过浏览器页面中的命令行终端的形式呈现,且可以呈现出已选择的应用服务器上正在运行的各个应用。这样一来,操作人员可以基于Websocket技术更加简洁地查看、调试各个应用的代码,避免出现需要通过多个操作步骤及多个服务器跳转才能登录到预设容器集群管理服务器连接的应用服务器上正在运行的应用程序的情况,实现了用户输入命令和执行结果的实时交互。
实施例三
图3为本发明实施例三提供的应用管理装置的结构框图,该装置用于执行上述任意实施例所提供的应用管理方法。该装置与上述各实施例的应用管理方法属于同一个发明构思,在应用管理装置的实施例中未详尽描述的细节内容,可以参考上述应用管理方法的实施例。参见图3,该装置具体可包括:脚本确定模块310和应用管理模块320。
其中,脚本确定模块310,用于当监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本,其中,待部署应用是通过预设容器集群管理服务器待部署在应用服务器上的应用;
应用管理模块320,用于执行应用管理脚本以对待部署应用进行管理。
可选的,若应用管理脚本是镜像打包脚本,则应用管理模块320,具体可包括:
镜像打包参数获取单元,用于获取镜像打包参数,其中,镜像打包参数包括代码仓库和运行环境参数,运行环境参数包括代码运行环境、运行环境版本和容器启动命令;
镜像打包单元,用于从代码仓库中下载待部署应用的待打包代码,根据待打包代码和运行环境参数,得到待部署应用的已打包镜像,并将已打包镜像上传至镜像仓库中。
可选的,若应用管理脚本是应用创建脚本,则应用管理模块320,具体可包括:
应用创建参数获取单元,用于获取应用创建参数,其中,应用创建参数包括已打包镜像的应用名称和预设容器集群管理服务器的部署环境;
应用创建单元,用于基于预设容器集群管理服务器中的应用创建接口,在部署环境对应的目标集群中创建应用名称,并将应用名称和镜像仓库相关联。
可选的,若应用管理脚本是应用发布脚本,则应用管理模块320,具体可包括:
应用发布参数获取单元,用于获取应用发布参数,其中,应用发布参数包括应用名称;
应用发布单元,用于基于预设容器集群管理服务器中的应用发布接口,将应用发布参数发送至预设容器集群管理服务器中,以使预设容器集群管理服务器提取出应用名称关联的镜像仓库中的已打包镜像,并将已打包镜像发布至应用服务器上。
可选的,若应用管理脚本是应用更新脚本,则应用管理模块320,具体可包括:
应用更新参数获取单元,用于确定已获取的应用更新参数对应的镜像打包参数,其中,应用更新参数包括应用名称;
镜像再打包单元,用于从代码仓库中下载待部署应用的已更新代码,根据已更新代码和运行环境参数,得到待部署应用的已更新镜像,并将已更新镜像上传至镜像仓库中;
镜像再发布单元,用于基于应用发布接口,将应用更新参数发送至预设容器集群管理服务器,以使预设容器集群管理服务器提取出应用名称关联的镜像仓库中的已更新镜像,并将已更新镜像发布至应用服务器上。
可选的,在此基础上,上述装置还可以包括:
日志配置模块,用于应用创建参数还包括应用日志路径,基于预设日志服务器的日志配置接口,在预设日志服务器上配置应用日志路径对应的应用日志。
可选的,预设容器集群管理服务器包括集成有Kubernetes的服务器。
本发明实施例三提供的应用管理装置,通过脚本确定模块监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本;由此,应用管理模块可以执行应用管理脚本以对待部署应用进行应用管理请求对应的管理。上述装置解决了在将待部署应用部署到应用服务器的过程中,因涉及到很多的需要操作人员手动操作的环节而带来的工作效率较低的问题,通过执行相应的应用管理脚本以对待部署应用实现全自动的应用管理方式,可以显著提高操作人员的工作效率。
本发明实施例所提供的应用管理装置可执行本发明任意实施例所提供的应用管理方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述应用管理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
图4为本发明实施例四提供的一种服务器的结构示意图,如图4所示,该服务器包括存储器410、处理器420、输入装置430和输出装置440。服务器中的处理器420的数量可以是一个或多个,图4中以一个处理器420为例;服务器中的存储器410、处理器420、输入装置430和输出装置440可以通过总线或其它方式连接,图4中以通过总线450连接为例。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的应用管理方法对应的程序指令/模块(例如,应用管理装置中的脚本确定模块310和应用管理模块320)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的应用管理方法。
存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用管理方法,该方法包括:
当监测到管理待部署应用的应用管理请求时,确定应用管理请求对应的应用管理脚本,其中,待部署应用是通过预设容器集群管理服务器待部署在应用服务器上的应用;
执行应用管理脚本以对待部署应用进行管理。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用管理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种应用管理方法,其特征在于,包括:
当监测到管理待部署应用的应用管理请求时,确定所述应用管理请求对应的应用管理脚本,其中,所述待部署应用是通过预设容器集群管理服务器待部署在应用服务器上的应用;所述应用管理脚本包括镜像打包脚本、应用创建脚本、应用发布脚本、应用更新脚本;
执行所述应用管理脚本以对所述待部署应用进行管理;
若应用管理脚本是镜像打包脚本,则所述执行所述镜像打包脚本以对所述待部署应用进行管理,包括:
获取镜像打包参数,其中,所述镜像打包参数包括代码仓库和运行环境参数,所述运行环境参数包括代码运行环境、运行环境版本和容器启动命令;
从所述代码仓库中下载所述待部署应用的待打包代码,根据所述待打包代码和所述运行环境参数,得到所述待部署应用的已打包镜像,并将所述已打包镜像上传至镜像仓库中。
2.根据权利要求1所述的方法,其特征在于,若应用管理脚本是应用创建脚本,则所述执行所述应用创建脚本以对所述待部署应用进行管理,包括:
获取应用创建参数,其中,所述应用创建参数包括所述已打包镜像的应用名称和所述预设容器集群管理服务器的部署环境;
基于所述预设容器集群管理服务器中的应用创建接口,在所述部署环境对应的目标集群中创建所述应用名称,并将所述应用名称和所述镜像仓库相关联。
3.根据权利要求2所述的方法,其特征在于,若应用管理脚本是应用发布脚本,则所述执行所述应用发布脚本以对所述待部署应用进行管理,包括:
获取应用发布参数,其中,所述应用发布参数包括所述应用名称;
基于所述预设容器集群管理服务器中的应用发布接口,将所述应用发布参数发送至所述预设容器集群管理服务器中,以使所述预设容器集群管理服务器提取出所述应用名称关联的所述镜像仓库中的所述已打包镜像,并将所述已打包镜像发布至所述应用服务器上。
4.根据权利要求3所述的方法,其特征在于,若应用管理脚本是应用更新脚本,则所述执行所述应用更新脚本以对所述待部署应用进行管理,包括:
确定已获取的应用更新参数对应的所述镜像打包参数,其中,所述应用更新参数包括所述应用名称;
从所述代码仓库中下载所述待部署应用的已更新代码,根据所述已更新代码和所述运行环境参数,得到所述待部署应用的已更新镜像,并将所述已更新镜像上传至所述镜像仓库中;
基于所述应用发布接口,将所述应用更新参数发送至所述预设容器集群管理服务器,以使所述预设容器集群管理服务器提取出所述应用名称关联的所述镜像仓库中的所述已更新镜像,并将所述已更新镜像发布至所述应用服务器上。
5.根据权利要求2所述的方法,其特征在于,在所述部署环境对应的目标集群中创建所述应用名称时,还包括:
所述应用创建参数还包括应用日志路径,基于预设日志服务器的日志配置接口,在所述预设日志服务器上配置所述应用日志路径对应的应用日志。
6.根据权利要求1所述的方法,其特征在于,所述预设容器集群管理服务器包括集成有Kubernetes的服务器。
7.一种应用管理装置,其特征在于,包括:
脚本确定模块,用于当监测到管理待部署应用的应用管理请求时,确定所述应用管理请求对应的应用管理脚本,其中,所述待部署应用是通过预设容器集群管理服务器待部署在应用服务器上的应用;所述应用管理脚本包括镜像打包脚本、应用创建脚本、应用发布脚本、应用更新脚本;
应用管理模块,用于执行所述应用管理脚本以对所述待部署应用进行管理;
若应用管理脚本是镜像打包脚本,则应用管理模块,具体包括:
镜像打包参数获取单元,用于获取镜像打包参数,其中,镜像打包参数包括代码仓库和运行环境参数,运行环境参数包括代码运行环境、运行环境版本和容器启动命令;
镜像打包单元,用于从代码仓库中下载待部署应用的待打包代码,根据待打包代码和运行环境参数,得到待部署应用的已打包镜像,并将已打包镜像上传至镜像仓库中。
8.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的应用管理方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的应用管理方法。
CN201911129804.0A 2019-11-18 2019-11-18 一种应用管理方法、装置、服务器及存储介质 Active CN110865840B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911129804.0A CN110865840B (zh) 2019-11-18 2019-11-18 一种应用管理方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911129804.0A CN110865840B (zh) 2019-11-18 2019-11-18 一种应用管理方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN110865840A CN110865840A (zh) 2020-03-06
CN110865840B true CN110865840B (zh) 2023-11-03

Family

ID=69655404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911129804.0A Active CN110865840B (zh) 2019-11-18 2019-11-18 一种应用管理方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN110865840B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988571B (zh) * 2021-02-09 2022-11-29 中国建设银行股份有限公司 一种用于优化cc代码的自动化编译部署方法及系统
CN113568623B (zh) * 2021-07-23 2024-07-09 上海淇玥信息技术有限公司 一种部署应用的方法、装置和电子设备
CN114416196B (zh) * 2021-12-24 2023-03-03 深圳开源互联网安全技术有限公司 一种多服务级联启动方法、装置及计算机可读存储介质
CN114443104B (zh) * 2022-04-06 2022-07-05 北京闪马智建科技有限公司 一种应用的部署方法、装置、存储介质及电子装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103167041A (zh) * 2013-03-28 2013-06-19 广州中国科学院软件应用技术研究所 一种支持云环境应用集群自动化部署的系统及方法
CN105468362A (zh) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 应用部署方法和云计算系统
CN106293820A (zh) * 2016-08-02 2017-01-04 山东大学 开发测试运维一体化系统、部署、全量以及增量更新方法
WO2017045424A1 (zh) * 2015-09-18 2017-03-23 乐视控股(北京)有限公司 一种应用程序部署系统及部署方法
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
CN107515783A (zh) * 2016-06-16 2017-12-26 阿里巴巴集团控股有限公司 基于应用容器集群工具的应用容器管控方法及装置
CN107678756A (zh) * 2017-09-29 2018-02-09 千寻位置网络有限公司 一种基于Docker的Web应用一键发布方法
CN108763090A (zh) * 2018-05-31 2018-11-06 上海陆家嘴国际金融资产交易市场股份有限公司 测试环境部署方法、装置、计算机设备和存储介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质
CN109324819A (zh) * 2018-09-28 2019-02-12 中国平安财产保险股份有限公司 服务器代码部署方法、装置、服务器设备及存储介质
CN109491674A (zh) * 2018-11-07 2019-03-19 李斌 一种在Kubernetes集群中自动部署服务的方法与系统
CN109597605A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 应用微服务部署方法、装置、存储介质及终端设备
CN109947452A (zh) * 2019-03-26 2019-06-28 南京联创信息科技有限公司 一种Kubernetes容器平台应用更新方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103167041A (zh) * 2013-03-28 2013-06-19 广州中国科学院软件应用技术研究所 一种支持云环境应用集群自动化部署的系统及方法
WO2017045424A1 (zh) * 2015-09-18 2017-03-23 乐视控股(北京)有限公司 一种应用程序部署系统及部署方法
CN105468362A (zh) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 应用部署方法和云计算系统
CN107515783A (zh) * 2016-06-16 2017-12-26 阿里巴巴集团控股有限公司 基于应用容器集群工具的应用容器管控方法及装置
CN106293820A (zh) * 2016-08-02 2017-01-04 山东大学 开发测试运维一体化系统、部署、全量以及增量更新方法
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
CN107678756A (zh) * 2017-09-29 2018-02-09 千寻位置网络有限公司 一种基于Docker的Web应用一键发布方法
CN108763090A (zh) * 2018-05-31 2018-11-06 上海陆家嘴国际金融资产交易市场股份有限公司 测试环境部署方法、装置、计算机设备和存储介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质
CN109324819A (zh) * 2018-09-28 2019-02-12 中国平安财产保险股份有限公司 服务器代码部署方法、装置、服务器设备及存储介质
CN109597605A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 应用微服务部署方法、装置、存储介质及终端设备
CN109491674A (zh) * 2018-11-07 2019-03-19 李斌 一种在Kubernetes集群中自动部署服务的方法与系统
CN109947452A (zh) * 2019-03-26 2019-06-28 南京联创信息科技有限公司 一种Kubernetes容器平台应用更新方法

Also Published As

Publication number Publication date
CN110865840A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN110865840B (zh) 一种应用管理方法、装置、服务器及存储介质
CN108108297B (zh) 自动化测试的方法和装置
CN112035228B (zh) 一种资源调度方法及装置
CN106844136B (zh) 一种程序崩溃信息的收集方法及系统
CN105653425B (zh) 基于复杂事件处理引擎的监控系统
US20160350081A1 (en) Automatic container definition
US8839107B2 (en) Context based script generation
CN113220431B (zh) 跨云的分布式数据任务调度方法、设备及存储介质
CN113778486B (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN110231956B (zh) 应用程序版本构建的方法、系统及装置
CN113867600A (zh) 处理流式数据的开发方法、装置和计算机设备
CN113064630A (zh) 移动端app自动打包方法、系统、电子设备及存储介质
CN110109684B (zh) 区块链节点管理代理服务安装方法、电子装置及存储介质
CN112149035A (zh) 网站静态资源处理方法及装置
CN113190286B (zh) 动态远程加载功能插件的mes系统、加载方法、终端及介质
CN113434180B (zh) 应用的数据处理方法、装置、服务器和存储介质
CN111104331B (zh) 软件管理方法、终端设备及计算机可读存储介质
CN115129574A (zh) 一种代码测试方法和装置
KR101449201B1 (ko) 철강 공정용 소프트웨어 자동 테스트 시스템
US11720476B2 (en) Automated end-to-end testing platform with dynamic container configuration
US11966323B2 (en) Troubleshooting software services based on system calls
CN110445628B (zh) 基于nginx的服务器及其部署、监控的方法和装置
CN115543491A (zh) 微服务处理方法和装置
CN112685051A (zh) 自动执行shell脚本的方法、装置、平台及存储介质
CN115658606B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 1103, Building 21, No. 39 Jibang Road, Zhongxing Town, Chongming District, Shanghai, 200000

Applicant after: Shanghai Extreme Chain Technology Development Group Co.,Ltd.

Address before: Room 1103, Building 21, 39 Jibang Road, Zhongming Town, Shanghai 202163

Applicant before: SHANGHAI JILIAN NETWORK TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230925

Address after: 322000, 38th floor, Building 2, Zhongfu Building, Futian Street, Yiwu City, Jinhua City, Zhejiang Province

Applicant after: Yiwu China Small Commodity City Big Data Co.,Ltd.

Address before: Room 1103, Building 21, No. 39 Jibang Road, Zhongxing Town, Chongming District, Shanghai, 200000

Applicant before: Shanghai Extreme Chain Technology Development Group Co.,Ltd.

GR01 Patent grant
GR01 Patent grant