CN113312152A - 一种自动化创建私有云发布任务的方法、装置及电子设备 - Google Patents

一种自动化创建私有云发布任务的方法、装置及电子设备 Download PDF

Info

Publication number
CN113312152A
CN113312152A CN202110712691.8A CN202110712691A CN113312152A CN 113312152 A CN113312152 A CN 113312152A CN 202110712691 A CN202110712691 A CN 202110712691A CN 113312152 A CN113312152 A CN 113312152A
Authority
CN
China
Prior art keywords
code
publishing
upgrade
private cloud
application service
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.)
Pending
Application number
CN202110712691.8A
Other languages
English (en)
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.)
Shanghai Huarui Bank Ltd By Share Ltd
Original Assignee
Shanghai Huarui Bank Ltd By Share 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 Shanghai Huarui Bank Ltd By Share Ltd filed Critical Shanghai Huarui Bank Ltd By Share Ltd
Priority to CN202110712691.8A priority Critical patent/CN113312152A/zh
Publication of CN113312152A publication Critical patent/CN113312152A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种自动化创建私有云发布任务的方法、装置及电子设备,涉及通信技术领域,包括通过远程获取指令拉取升级代码,将所述代码编译成第一发布包;创建所述第一发布包的版本号;切除虚拟机的负载均衡流量;下载、安装应用服务所需的技术栈;启动所述应用服务;检查所述应用服务的启动状态是否成功,如果成功,恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。本申请具有提高持续集成过程自动化程度、提高开发测试效率的功能。

Description

一种自动化创建私有云发布任务的方法、装置及电子设备
技术领域
本发明涉及通信技术领域,尤其涉及一种自动化创建私有云发布任务的方法、装置及电子设备。
背景技术
私有云是指通过Internet或专用内部网络仅面向特选用户(而非一般公众)提供的计算服务。私有云也称作内部云或公司云,私有云计算为企业提供了许多公有云的优势(包括自助服务、可伸缩性和弹性),其通过专用资源提供额外控制和定制能力,远胜于本地托管的计算基础结构。此外,私有云通过公司防火墙和内部托管提供更高级别的安全和隐私,确保第三方提供商无法访问操作和敏感数据。
目前,私有云发布任务大多通过手动发布的方式,版本管理也较为混乱。
因此,提出一种自动化创建私有云发布任务的方法、装置及电子设备。
发明内容
本说明书提供一种自动化创建私有云发布任务的方法、装置及电子设备,可实现提高持续集成过程自动化程度、提高开发测试效率的功能。
本申请提供的一种自动化创建私有云发布任务的方法采用如下的技术方案,包括:
通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包;
创建所述第一发布包的版本号;
切除虚拟机的负载均衡流量;
下载、安装应用服务所需的技术栈;
启动所述应用服务;
检查所述应用服务的启动状态是否成功,如果成功,恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
可选的,还包括:
检查所述应用服务的启动状态是否成功,如果失败,标记所述第一发布包不可用;
获取第二发布包的版本号;
基于所述第二发布包的版本号得到对应的第二发布包;
通过启动模块启动所述应用服务;
恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
可选的,所述通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包,包括:
通过远程获取指令拉取升级代码;
基于所述升级代码匹配相应的代码规则;
检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包。
可选的,所述检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包,包括:
获取所述升级代码的类名、方法名;
检查所述升级代码是否符合所述相应的代码规则;
当所述升级代码符合所述相应的代码规范,结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规则;
当所述类名、方法名符合专业领域命名规范,基于所述代码构建工具将所述升级代码编译成第一发布包。
可选的,所述检查所述升级代码是否符合所述代码规则,当不符合时,包括:
当所述升级代码不符合所述相应的代码规则,得到第一不规范提示;
结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规范;
当所述类名、方法名不符合专业领域命名规范,得到第二不规范提示,基于代码构建工具将所述代码编译成第一发布包。
可选的,所述创建所述第一发布包的版本号,包括:通过所述应用服务及其时间戳生成所述第一发布包的版本号。
可选的,还包括:
获取应用名称;
建立所述第一发布包、第一发布包的版本号与所述应用名称的映射关系。
本申请提供的一种自动化创建私有云发布任务的装置采用如下的技术方案,包括:
编译模块,通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包;
创建模块,创建所述第一发布包的版本号;
切除模块,切除虚拟机的负载均衡流量;
下载安装模块,下载、安装应用服务所需的技术栈;
启动模块,启动所述应用服务;
检查模块,检查所述应用服务的启动状态是否成功,如果成功,恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
可选的,还包括:
检查所述应用服务的启动状态是否成功,如果失败,标记所述第一发布包不可用;
获取第二发布包的版本号;
基于所述第二发布包的版本号得到对应的第二发布包;
通过启动模块启动所述应用服务;
恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
可选的,所述编译模块包括:
通过远程获取指令拉取升级代码;
基于所述升级代码匹配相应的代码规则;
检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包。
可选的,所述检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包,包括:
获取所述升级代码的类名、方法名;
检查所述升级代码是否符合所述相应的代码规则;
当所述升级代码符合所述相应的代码规范,结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规则;
当所述类名、方法名符合专业领域命名规范,基于所述代码构建工具将所述升级代码编译成第一发布包。
可选的,所述检查所述升级代码是否符合所述代码规则,当不符合时,包括:
当所述升级代码不符合所述相应的代码规则,得到第一不规范提示;
结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规范;
当所述类名、方法名不符合专业领域命名规范,得到第二不规范提示,基于代码构建工具将所述代码编译成第一发布包。
可选的,所述创建模块包括:通过所述应用服务及其时间戳生成所述第一发布包的版本号。
可选的,所述创建模块还包括:
获取应用名称;
建立所述第一发布包、第一发布包的版本号与所述应用名称的映射关系。
本说明书还提供一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行程序的存储器,所述可执行程序在被执行时使所述处理器执行上述任一项方法。
本说明书还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项方法。
本发明中,可实现:
(1)自动化创建、生成私有云发布任务;
(2)实现对第一发布包、第二发布包等的管理,对于应用服务的启动状态进行检测并修正,保证应用服务在私有云上正常运行;
(3)实时检测发布任务的状态,根据不同的状态执行后续操作。
附图说明
图1为本说明书实施例提供的一种自动化创建私有云发布任务的方法的原理示意图;
图2为本说明书实施例提供的一种自动化创建私有云发布任务的方法的流程示意图;
图3为本说明书实施例提供的一种自动化创建私有云发布任务的装置的结构示意图;
图4为本说明书实施例提供的一种电子设备的结构示意图;
图5为本说明书实施例提供的一种计算机可读介质的原理示意图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
以下结合附图1-5对本申请作进一步详细说明。
本说明书实施例提供一种自动化创建私有云发布任务的方法,包括:
通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包;
创建所述第一发布包的版本号;
切除虚拟机的负载均衡流量;
下载、安装应用服务所需的技术栈;
启动所述应用服务;
检查所述应用服务的启动状态是否成功,如果成功,恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
在本说明书实施例中,通过远程获取指令拉取升级代码,基于代码构建工具将获取到的升级代码编译成第一发布包,创建第一发布包的版本号,将第一发布包和第一发布包的版本号上传到文件管理平台,并对第一发布包、第一发布包的版本号及其相关文件进行管理,在私有云做好任务发布准备,包括:切除虚拟机的负载均衡流量;下载、安装应用服务所需的技术栈。通过启动模块启动应用服务,并检查启动状态,启动成功,回复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。
在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
术语“和/或”或者“及/或”包括相关联的列出项目中的任一个或多者的所有组合。
图1为本说明书实施例提供的一种自动化创建私有云发布任务的方法的原理示意图,该方法可以包括:
S101:通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包。
在本说明书实施例中,远程获取指令包括Git pull(Git fetch和Git mergeFETCH_HEAD的简写,用于从远程获取代码并合并本地的版本)、SVN(Subversion,是一个开放源代码的版本控制系统)等;基于代码构建工具将升级代码编译成第一发布包,代码构建工具包括Maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)、Ant(是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具)、Gradle(是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具)等。
在本说明书实施例中,包括:
通过远程获取指令拉取升级代码;
基于所述升级代码匹配相应的代码规则;
检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包。
在本说明书实施例中,远程获取指令包括Git pull(Git fetch和Git mergeFETCH_HEAD的简写,用于从远程获取代码并合并本地的版本)、SVN(Subversion,是一个开放源代码的版本控制系统)等。根据远程获取指令获取的升级代码的种类不同,匹配相应的代码规则,比如获取的升级代码为Java升级代码,匹配到的代码规则为Java代码规则。将升级代码与相应的升级代码规则比对,升级代码符合相应的代码规则,基于代码构建工具将升级代码编译成第一发布包,代码构建工具包括Maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)、Ant(是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具)、Gradle(是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具)等。
在本说明书实施例中,所述检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述代码编译成第一发布包,包括:
获取所述升级代码的类名、方法名;
检查所述升级代码是否符合所述相应的代码规则;
当所述升级代码符合所述相应的代码规范,结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规则;
当所述类名、方法名符合专业领域命名规范,基于所述代码构建工具将所述升级代码编译成第一发布包。
在本说明书实施例中,根据远程获取指令获取的升级代码的种类不同,匹配相应的代码规则,比如获取的升级代码为Java升级代码,匹配到的代码规则为Java代码规则;检查升级代码是否符合相应的代码规则,当升级代码符合相应的代码规则,将升级代码解析得到升级代码的类名、方法名,结合专业领域字典库检测升级代码的类名、方法名是否符合专业领域命名规范,比如银行字典库等。当类名、方法名符合专业领域命名规范时,基于代码构建工具将升级代码编译成第一发布包,代码构建工具包括Maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)、Ant(是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具)、Gradle(是一个基于Apache ant和Apache maven概念的项目自动化构建开源工具)等。
在本说明书实施例中,所述检查所述升级代码是否符合所述代码规则,当不符合时,包括:
当所述升级代码不符合所述相应的代码规则,得到第一不规范提示;
结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规范;
当所述类名、方法名不符合专业领域命名规范,得到第二不规范提示,基于代码构建工具将所述代码编译成第一发布包。
在本说明书实施例中,根据远程获取指令获取的升级代码的种类不同,匹配相应的代码规则,比如获取的升级代码为Java升级代码,匹配到的代码规则为Java代码规则;检查升级代码是否符合相应的代码规则,当升级代码不符合相应的代码规则,用户将收到第一不规范提示,提示内容可为“升级代码不符合相应代码规则”等。将升级代码解析得到升级代码的类名、方法名,结合专业领域字典库检测升级代码的类名、方法名是否符合专业领域命名规范,比如银行字典库等。当类名、方法名不符合专业领域命名规范时,用户将收到第二不规范提示,提示内容可为“类名不符合专业领域命名规范”、“方法名不符合专业领域命名规范等”。基于代码构建工具将升级代码编译成第一发布包,代码构建工具包括Maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)、Ant(是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具)、Gradle(是一个基于Apache ant和Apache maven概念的项目自动化构建开源工具)等。
S102:创建所述第一发布包的版本号。
在本说明书实施例中,创建第一发布包的版本号,将第一发布包和第一发布包的版本号上传到文件管理平台,并对第一发布包、第一发布包的版本号及其相关文件进行管理。
在本说明书实施例中,所述创建所述第一发布包的版本号,包括:通过所述应用服务及其时间戳生成所述第一发布包的版本号。
在本说明书实施例中,通过应用服务及其时间戳生成第一发布包的版本号,将第一发布包和第一发布包的版本号上传到文件管理平台,并对第一发布包、第一发布包的版本号及其相关文件进行管理。
在本说明书实施例中,还包括:
获取应用名称;
建立所述第一发布包、第一发布包的版本号与所述应用名称的映射关系。
在本说明书实施例中,通过应用服务及其时间戳生成第一发布包的版本号,将第一发布包和第一发布包的版本号上传到文件管理平台,并对第一发布包、第一发布包的版本号及其相关文件进行管理,管理包括获取应用名称,建立第一发布包、第一发布包的版本号与应用名称的映射关系,获取应用名称的方式包括手动输入、通过解码器解析。
S103:切除虚拟机的负载均衡流量。
在本说明书实施例中,将虚拟机的负载均衡流量切除为私有云任务发布做准备,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡。
S104:下载、安装应用服务所需的技术栈。
在本说明书实施例中,下载、安装应用服务所需的技术栈为私有云任务发布做准备。技术栈,一般来说是指将N种技术互相组合在一起(N>1),作为一个有机的整体来实现某种目的或功能。也可以指掌握这些技术以及配合使用的经验。
S105:启动所述应用服务。
在本说明书实施例中,通过启动模块启动应用服务,启动模块包括写入的启动脚本。
S106:检查所述应用服务的启动状态是否成功,如果成功,恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
在本说明书实施例中,轮询检查应用服务的启动状态,检测结果为成功,恢复虚拟机的负载均衡流量,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡,实现自动化创建私有云发布任务。
在本说明书实施例中,所述自动化创建私有云发布任务的方法,还包括:
检查所述应用服务的启动状态是否成功,如果失败,标记所述第一发布包不可用;
获取第二发布包的版本号;
基于所述第二发布包的版本号得到对应的第二发布包;
通过启动模块启动所述应用服务;
恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
在本说明书实施例中,轮询检查应用服务的启动状态,检测结果为失败,通过应用服务及其时间戳生成第二发布包的版本号,将第二发布包和第二发布包的版本号上传到文件管理平台,并对第二发布包、第二发布包的版本号及其相关文件进行管理,管理包括获取应用名称,建立第二发布包、第二发布包的版本号与应用名称的映射关系,获取应用名称的方式包括手动输入、通过解码器解析标记第二发布包不可用。基于第二发布包的版本号搜寻到第二发布包,通过启动模块启动应用服务,启动模块包括写入的启动脚本。恢复虚拟机的负载均衡流量,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡,实现自动化创建私有云发布任务。
图2为本说明书实施例提供的一种自动化创建私有云发布任务的方法的流程示意图。
在本说明书实施例中,根据远程获取指令获取的升级代码的种类不同,匹配相应的代码规则,比如获取的升级代码为Java升级代码,匹配到的代码规则为Java代码规则;检查升级代码是否符合相应的代码规则,当升级代码符合相应的代码规则,将升级代码解析得到升级代码的类名、方法名,结合专业领域字典库检测升级代码的类名、方法名是否符合专业领域命名规范,比如银行字典库等。当类名、方法名符合专业领域命名规范时,基于代码构建工具将升级代码编译成第一发布包,代码构建工具包括Maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)、Ant(是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具)、Gradle(是一个基于Apache ant和Apache maven概念的项目自动化构建开源工具)等。
根据远程获取指令获取的升级代码的种类不同,匹配相应的代码规则,比如获取的升级代码为Java升级代码,匹配到的代码规则为Java代码规则;检查升级代码是否符合相应的代码规则,当升级代码不符合相应的代码规则,用户将收到第一不规范提示,提示内容可为“升级代码不符合相应代码规则”等。将升级代码解析得到升级代码的类名、方法名,结合专业领域字典库检测升级代码的类名、方法名是否符合专业领域命名规范,比如银行字典库等。当类名、方法名不符合专业领域命名规范时,用户将收到第二不规范提示,提示内容可为“类名不符合专业领域命名规范”、“方法名不符合专业领域命名规范等”。基于代码构建工具将升级代码编译成第一发布包,代码构建工具包括Maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)、Ant(是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具)、Gradle(是一个基于Apache ant和Apache maven概念的项目自动化构建开源工具)等。
通过应用服务及其时间戳生成第一发布包的版本号,将第一发布包和第一发布包的版本号上传到文件管理平台,并对第一发布包、第一发布包的版本号及其相关文件进行管理,管理包括获取应用名称,建立第一发布包、第一发布包的版本号与应用名称的映射关系,获取应用名称的方式包括手动输入、通过解码器解析。
将虚拟机的负载均衡流量切除为私有云任务发布做准备,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡。
下载、安装应用服务所需的技术栈为私有云任务发布做准备。技术栈,一般来说是指将N种技术互相组合在一起(N>1),作为一个有机的整体来实现某种目的或功能。也可以指掌握这些技术以及配合使用的经验。
通过启动模块启动应用服务,启动模块包括写入的启动脚本。
轮询检查应用服务的启动状态,检测结果为成功,恢复虚拟机的负载均衡流量,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡,实现自动化创建私有云发布任务。
轮询检查应用服务的启动状态,检测结果为失败,通过应用服务及其时间戳生成第二发布包的版本号,将第二发布包和第二发布包的版本号上传到文件管理平台,并对第二发布包、第二发布包的版本号及其相关文件进行管理,管理包括获取应用名称,建立第二发布包、第二发布包的版本号与应用名称的映射关系,获取应用名称的方式包括手动输入、通过解码器解析标记第二发布包不可用。基于第二发布包的版本号搜寻到第二发布包,通过启动模块启动应用服务,启动模块包括写入的启动脚本。恢复虚拟机的负载均衡流量,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡,实现自动化创建私有云发布任务。
图3本说明书实施例提供的一种自动化创建私有云发布任务的装置的结构示意图,该装置可以包括:
编译模块,通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包;
创建模块,创建所述第一发布包的版本号;
切除模块,切除虚拟机的负载均衡流量;
下载安装模块,下载、安装应用服务所需的技术栈;
启动模块,启动所述应用服务;
检查模块,检查所述应用服务的启动状态是否成功,如果成功,恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
在本说明书实施例中,自动化创建私有云发布任务的装置还包括:
检查所述应用服务的启动状态是否成功,如果失败,标记所述第一发布包不可用;
获取第二发布包的版本号;
基于所述第二发布包的版本号得到对应的第二发布包;
通过启动模块启动所述应用服务;
恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
在本说明书实施例中,所述编译模块包括:
通过远程获取指令拉取升级代码;
基于所述升级代码匹配相应的代码规则;
检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包。
在本说明书实施例中,所述检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包,包括:
获取所述升级代码的类名、方法名;
检查所述升级代码是否符合所述相应的代码规则;
当所述升级代码符合所述相应的代码规范,结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规则;
当所述类名、方法名符合专业领域命名规范,基于所述代码构建工具将所述升级代码编译成第一发布包。
在本说明书实施例中,所述检查所述升级代码是否符合所述代码规则,当不符合时,包括:
当所述升级代码不符合所述相应的代码规则,得到第一不规范提示;
结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规范;
当所述类名、方法名不符合专业领域命名规范,得到第二不规范提示,基于代码构建工具将所述代码编译成第一发布包。
在本说明书实施例中,所述创建模块包括:通过所述应用服务及其时间戳生成所述第一发布包的版本号。
在本说明书实施例中,所述创建模块还包括:
获取应用名称;
建立所述第一发布包、第一发布包的版本号与所述应用名称的映射关系。
在本说明书实施例中,根据远程获取指令获取的升级代码的种类不同,匹配相应的代码规则,比如获取的升级代码为Java升级代码,匹配到的代码规则为Java代码规则;检查升级代码是否符合相应的代码规则,当升级代码符合相应的代码规则,将升级代码解析得到升级代码的类名、方法名,结合专业领域字典库检测升级代码的类名、方法名是否符合专业领域命名规范,比如银行字典库等。当类名、方法名符合专业领域命名规范时,基于代码构建工具将升级代码编译成第一发布包,代码构建工具包括Maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)、Ant(是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具)、Gradle(是一个基于Apache ant和Apache maven概念的项目自动化构建开源工具)等。
根据远程获取指令获取的升级代码的种类不同,匹配相应的代码规则,比如获取的升级代码为Java升级代码,匹配到的代码规则为Java代码规则;检查升级代码是否符合相应的代码规则,当升级代码不符合相应的代码规则,用户将收到第一不规范提示,提示内容可为“升级代码不符合相应代码规则”等。将升级代码解析得到升级代码的类名、方法名,结合专业领域字典库检测升级代码的类名、方法名是否符合专业领域命名规范,比如银行字典库等。当类名、方法名不符合专业领域命名规范时,用户将收到第二不规范提示,提示内容可为“类名不符合专业领域命名规范”、“方法名不符合专业领域命名规范等”。基于代码构建工具将升级代码编译成第一发布包,代码构建工具包括Maven(项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件)、Ant(是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具)、Gradle(是一个基于Apache ant和Apache maven概念的项目自动化构建开源工具)等。
通过应用服务及其时间戳生成第一发布包的版本号,将第一发布包和第一发布包的版本号上传到文件管理平台,并对第一发布包、第一发布包的版本号及其相关文件进行管理,管理包括获取应用名称,建立第一发布包、第一发布包的版本号与应用名称的映射关系,获取应用名称的方式包括手动输入、通过解码器解析。
将虚拟机的负载均衡流量切除为私有云任务发布做准备,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡。
下载、安装应用服务所需的技术栈为私有云任务发布做准备。技术栈,一般来说是指将N种技术互相组合在一起(N>1),作为一个有机的整体来实现某种目的或功能。也可以指掌握这些技术以及配合使用的经验。
通过启动模块启动应用服务,启动模块包括写入的启动脚本。
轮询检查应用服务的启动状态,检测结果为成功,恢复虚拟机的负载均衡流量,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡,实现自动化创建私有云发布任务。
轮询检查应用服务的启动状态,检测结果为失败,通过应用服务及其时间戳生成第二发布包的版本号,将第二发布包和第二发布包的版本号上传到文件管理平台,并对第二发布包、第二发布包的版本号及其相关文件进行管理,管理包括获取应用名称,建立第二发布包、第二发布包的版本号与应用名称的映射关系,获取应用名称的方式包括手动输入、通过解码器解析标记第二发布包不可用。基于第二发布包的版本号搜寻到第二发布包,通过启动模块启动应用服务,启动模块包括写入的启动脚本。恢复虚拟机的负载均衡流量,负载均衡流量可为SLB(Server load balancing)流量,SLB流量可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡,实现自动化创建私有云发布任务。
本发明实施例的装置的功能已经在上述的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
基于同一发明构思,本说明书实施例还提供一种电子设备。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图4为本说明书实施例提供的一种电子设备的结构示意图。下面参照图4来描述根据本发明该实施例的电子设备300。图4显示的电子设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备300以通用计算设备的形式表现。电子设备300的组件可以包括但不限于:至少一个处理单元310、至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330、显示单元340等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图1所示的步骤。
所述存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(ROM)3203。
所述存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备300也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图4中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:如图1所示的方法。
图5为本说明书实施例提供的一种计算机可读介质的原理示意图。
实现图1所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种自动化创建私有云发布任务的方法,其特征在于,包括:
通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包;
创建所述第一发布包的版本号;
切除虚拟机的负载均衡流量;
下载、安装应用服务所需的技术栈;
启动所述应用服务;
检查所述应用服务的启动状态是否成功,如果成功,恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
2.如权利要求1所述的自动化创建私有云发布任务的方法,其特征在于,还包括:
检查所述应用服务的启动状态是否成功,如果失败,标记所述第一发布包不可用;
获取第二发布包的版本号;
基于所述第二发布包的版本号得到对应的第二发布包;
通过启动模块启动所述应用服务;
恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
3.如权利要求1-2所述的自动化创建私有云发布任务的方法,其特征在于,所述通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包,包括:
通过远程获取指令拉取升级代码;
基于所述升级代码匹配相应的代码规则;
检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包。
4.如权利要求1-3所述的自动化创建私有云发布任务的方法,其特征在于,所述检查所述升级代码是否符合所述代码规则,当符合时,基于代码构建工具将所述升级代码编译成第一发布包,包括:
获取所述升级代码的类名、方法名;
检查所述升级代码是否符合所述相应的代码规则;
当所述升级代码符合所述相应的代码规范,结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规则;
当所述类名、方法名符合专业领域命名规范,基于所述代码构建工具将所述升级代码编译成第一发布包。
5.如权利要求1-4所述的自动化创建私有云发布任务的方法,其特征在于,所述检查所述升级代码是否符合所述代码规则,当不符合时,包括:
当所述升级代码不符合所述相应的代码规则,得到第一不规范提示;
结合专业领域字典库判断所述类名、方法名是否符合专业领域命名规范;
当所述类名、方法名不符合专业领域命名规范,得到第二不规范提示,基于代码构建工具将所述代码编译成第一发布包。
6.如权利要求1-5所述的自动化创建私有云发布任务的方法,其特征在于,所述创建所述第一发布包的版本号,包括:通过所述应用服务及其时间戳生成所述第一发布包的版本号。
7.如权利要求1-6所述的自动化创建私有云发布任务的方法,其特征在于,还包括:
获取应用名称;
建立所述第一发布包、第一发布包的版本号与所述应用名称的映射关系。
8.一种自动化创建私有云发布任务的装置,其特征在于,包括:
编译模块,通过远程获取指令拉取升级代码,将所述升级代码编译成第一发布包;
创建模块,创建所述第一发布包的版本号;
切除模块,切除虚拟机的负载均衡流量;
下载安装模块,下载、安装应用服务所需的技术栈;
启动模块,启动所述应用服务;
检查模块,检查所述应用服务的启动状态是否成功,如果成功,恢复虚拟机的负载均衡流量,实现自动化创建私有云发布任务。
9.一种电子设备,其中,该电子设备包括:处理器;以及,存储计算机可执行程序的存储器,所述可执行程序在被执行时使所述处理器执行根据权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1-7中任一项所述的方法。
CN202110712691.8A 2021-06-25 2021-06-25 一种自动化创建私有云发布任务的方法、装置及电子设备 Pending CN113312152A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110712691.8A CN113312152A (zh) 2021-06-25 2021-06-25 一种自动化创建私有云发布任务的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110712691.8A CN113312152A (zh) 2021-06-25 2021-06-25 一种自动化创建私有云发布任务的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN113312152A true CN113312152A (zh) 2021-08-27

Family

ID=77380418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110712691.8A Pending CN113312152A (zh) 2021-06-25 2021-06-25 一种自动化创建私有云发布任务的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113312152A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324182A1 (en) * 2014-05-09 2015-11-12 International Business Machines Corporation Automated deployment of a private modular cloud-computing environment
CN108632375A (zh) * 2018-05-09 2018-10-09 四川华创世纪科技有限公司 一种针对分布式部署服务软件程序的在线升级方法
CN110347395A (zh) * 2018-04-03 2019-10-18 中移信息技术有限公司 基于云计算平台的软件发布方法及装置
CN111061488A (zh) * 2019-12-18 2020-04-24 深圳前海环融联易信息科技服务有限公司 检测前端代码质量的方法、装置、计算机设备及存储介质
CN111722932A (zh) * 2020-06-28 2020-09-29 中国工商银行股份有限公司 用于应用系统的控制方法和装置、计算机系统和存储介质
CN112866131A (zh) * 2020-12-30 2021-05-28 神州绿盟成都科技有限公司 一种流量负载均衡方法、装置、设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324182A1 (en) * 2014-05-09 2015-11-12 International Business Machines Corporation Automated deployment of a private modular cloud-computing environment
CN110347395A (zh) * 2018-04-03 2019-10-18 中移信息技术有限公司 基于云计算平台的软件发布方法及装置
CN108632375A (zh) * 2018-05-09 2018-10-09 四川华创世纪科技有限公司 一种针对分布式部署服务软件程序的在线升级方法
CN111061488A (zh) * 2019-12-18 2020-04-24 深圳前海环融联易信息科技服务有限公司 检测前端代码质量的方法、装置、计算机设备及存储介质
CN111722932A (zh) * 2020-06-28 2020-09-29 中国工商银行股份有限公司 用于应用系统的控制方法和装置、计算机系统和存储介质
CN112866131A (zh) * 2020-12-30 2021-05-28 神州绿盟成都科技有限公司 一种流量负载均衡方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN108196915B (zh) 基于应用容器引擎的代码处理方法、设备及存储介质
US8806475B2 (en) Techniques for conditional deployment of application artifacts
US11667033B2 (en) Systems and methods for robotic process automation
KR102214139B1 (ko) 클라우드 인프라 템플릿 관리 시스템
US20060080638A1 (en) Automated multi-platform build and test environment for software application development
CN111897548B (zh) 前端资源发布方法、装置、电子设备及计算机存储介质
US8688866B1 (en) Generating recommendations for peripheral devices compatible with a processor and operating system of a computer
CN111580926A (zh) 模型发布方法、模型部署方法、装置、设备及存储介质
US10644973B2 (en) Monitoring of availability data for system management environments
US20210157623A1 (en) Automated Management of Machine Images
CN110765483A (zh) 一种配置化的日志脱敏方法、装置和电子设备
CN112764792B (zh) 一种关联服务器版本应用升级方法、装置和电子设备
CN111162953A (zh) 数据处理方法、系统升级方法和服务器
CN111782523A (zh) 云端服务部署测试方法、装置、电子设备和存储介质
CN113127136A (zh) Docker镜像生成方法及装置、存储介质、电子设备
CN110704025A (zh) 编码规范工具的生成方法和装置、存储介质、电子设备
WO2023151397A1 (zh) 应用程序部署方法、装置、设备及介质
CN113312152A (zh) 一种自动化创建私有云发布任务的方法、装置及电子设备
CN112134948B (zh) 组件发布同步方法、系统、设备及存储介质
CN114356396A (zh) 一种适配多种服务的服务发布方法及装置
CN115291928A (zh) 多种技术栈的任务自动集成方法、装置及电子设备
CN113721940A (zh) 一种软件部署方法、装置、电子设备及存储介质
CN109683920A (zh) 一种基于unity程序部署方法与系统
CN112783834B (zh) 一种业务资源在线转存方法、装置和电子设备
CN112988528B (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