CN114338363A - 一种持续集成方法、装置、设备及存储介质 - Google Patents

一种持续集成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114338363A
CN114338363A CN202111552876.3A CN202111552876A CN114338363A CN 114338363 A CN114338363 A CN 114338363A CN 202111552876 A CN202111552876 A CN 202111552876A CN 114338363 A CN114338363 A CN 114338363A
Authority
CN
China
Prior art keywords
service
node
cluster
distributed
slave
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.)
Withdrawn
Application number
CN202111552876.3A
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN202111552876.3A priority Critical patent/CN114338363A/zh
Publication of CN114338363A publication Critical patent/CN114338363A/zh
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种持续集成方法、装置、设备及存储介质,包括:创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群;实时的获取分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息;对分布式业务集群中的所有业务节点进行监测,当监测到主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。本申请通过创建分布式业务集群,并通过集群中各节点的状态信息构建候选队列,确保在单节点出现异常时能够选举新的节点接替任务,能够保证整体持续集成过程高可靠,加速产品迭代交付,保证数据的安全。

Description

一种持续集成方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种持续集成方法、装置、设备及存储介质。
背景技术
当前,随着市场需求的***式增长和敏捷开发模式的普及,高频次交付已经成为产品成熟度的必备要素之一。在传统的持续集成(CI,Continuous Integration)***中,代码库、编译机、持续集成工具服务器、自动化测试机、镜像库等核心处理模块大多都是单机,各自独立运行。一旦持续集成***出现异常或遭受到自然灾害等情况易导致断电或宕机,使得产品无法交付,甚至引发数据丢失等严重的后果。
因此,如何在持续集成***出现故障时,继续完成产品的交付、保障数据的安全是目前还有待进一步解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种持续集成方法、装置、设备及存储介质,能够加速产品迭代交付,保障数据的安全。其具体方案如下:
第一方面,本申请公开了一种持续集成方法,包括:
创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群;其中,所述主业务节点中保存的目标数据按照预设的同步规则同步至所述从业务节点;
实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息;
对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。
可选的,所述根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,包括:
利用所述业务节点状态信息计算所述从业务节点的方差,得到从业务节点方差;
按照所述从业务节点方差从小到大的顺序对所述从业务节点方差对应的所述从业务节点进行排序,得到目标候选队列,并从所述目标候选队列中确定出目标从业务节点。
可选的,所述持续集成方法,还包括:
构建用于对所述分布式业务集群进行管理的分布式集群管理***;其中,所述分布式集群管理***包括一个主管理节点和第二预设数量的从管理节点;
判断所述分布式集群管理***中所述主管理节点是否正常,若正常则通过所述主管理节点对所述分布式业务集群进行管理,若异常则从所述从管理节点中确定出目标从管理节点,并通过所述目标从管理节点对所述分布式业务集群进行管理。
可选的,所述持续集成方法,还包括:
在预设的时间片阈值内和/或达到预设的缓存水位阈值时,对所述分布式业务集群和所述分布式集群管理***中的节点缓存数据进行备份。
可选的,所述利用所述目标数据对持续集成***进行集成,包括:
将所述目标数据合并到预设的版本控制***中,以便所述版本控制***利用所述目标数据自动运行构建和用例测试,得到自动化用例运行结果,并在镜像仓库发布应用程序。
可选的,所述持续集成方法,还包括:
根据所述自动化用例运行结果判断集成是否成功,如果失败则进行异常分析,得到异常分析结果;
根据所述异常分析结果判断是否是由业务代码问题而引起的,若否则重新触发所述利用所述目标数据对持续集成***进行集成的步骤,若是则生成相应的异常告警信息并按照预设的提示方式发送至开发者终端。
可选的,所述对所述分布式业务集群中的业务节点进行监测,包括:
获取所述分布式业务集群中业务节点对应的操作***的日志信息,并根据所述日志信息判断所述分布式业务集群中是否存在异常业务节点;
若所述分布式业务集群中存在异常业务节点则按照预设的标记规则对所述异常业务节点进行标记,得到异常标记业务节点,并将所述异常业务标记节点从所述分布式业务集群中删除。
第二方面,本申请公开了一种持续集成装置,包括:
业务集群创建模块,用于创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群;其中,所述主业务节点中保存的目标数据将按照预设的周期同步至所述从业务节点;
状态信息获取模块,用于实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息;
集成模块,用于对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的持续集成方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的持续集成方法。
可见,本申请先创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群,然后实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息,并对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。可见,本申请通过创建分布式业务集群,并通过集群中各节点的状态信息构建候选队列,确保在单节点出现异常时能够选举新的节点接替任务,能够保证整体持续集成过程高可靠,加速产品迭代交付,保证数据的安全。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种持续集成方法流程图;
图2为本申请公开的一种具体的持续集成处理业务流程图;
图3为本申请公开的一种具体的持续集成方法流程图;
图4为本申请公开的一种持续集成装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种持续集成方法,参见图1所示,该方法包括:
步骤S11:创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群;其中,所述主业务节点中保存的目标数据按照预设的同步规则同步至所述从业务节点。
本实施例中,首先需要为持续集成***中的各个独立运行的业务模块创建包括一个主业务节点和预设数量的从业务节点的分布式业务集群;其中,所述主业务节点中保存的目标数据会按照预设的同步规则同步至上述从业务节点中;所述持续集成***中的各个独立运行的业务模块包括但不限于代码库、编译机、持续集成工具服务器、自动化测试机、镜像库等。相应的,所述分布式业务集群包括但不限于代码库集群、编译集群、持续集成服务集群、自动化集群、镜像库集群等。
本实施例中,在创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群之前,具体还包括:构建用于对所述分布式业务集群进行管理的分布式集群管理***;其中,所述分布式集群管理***包括一个主管理节点和第二预设数量的从管理节点;判断所述分布式集群管理***中所述主管理节点是否正常,若正常则通过所述主管理节点对所述分布式业务集群进行管理,若异常则从所述从管理节点中确定出目标从管理节点,并通过所述目标从管理节点对所述分布式业务集群进行管理。本实施例中预先构建一个分布式集群管理***,所述分布式集群管理***中包括一个主管理节点和预设数量的从管理节点,用于对上述分布式业务集群进行管理。可以理解的是,通常情况下,即在所述分布式集群管理***的主管理节点无异常时,可以通过上述主管理节点对上述分布式业务集群进行管理,当上述主管理节点出现异常时,则从所述分布式集群管理***中的从管理节点中确定出一个目标从管理节点,并通过上述目标从管理节点对上述分布式业务集群进行管理。
同时,所述分布式集群管理***中配置了同步机制和容错机制;其中,所述同步机制可根据自定义的同步周期将所述主管理节点中保存的目标数据同步至所述从管理节点,并在监测到所述主管理节点和所述从管理节点出现所述目标数据不一致时,会将上述主管理节点保存的目标数据自动同步覆盖至所述从管理节点。其中,所述同步周期最少间隔是1秒,最长不超过60分钟。需要指出的是,在自动同步覆盖的过程中,不会影响分布式集群管理***中各管理节点的运行,也不影响已经建立了通信连接关系的分布式业务集群的正常运行。
本实施例中,所述持续集成方法,具体还可以包括:在预设的时间片阈值内和/或达到预设的缓存水位阈值时,对所述分布式业务集群和所述分布式集群管理***中的节点缓存数据进行备份。本实施例中,为了防止一些极端情况,如地震、火灾等,引发的节点缓存数据的丢失,在所述分布式集群管理***和所述分布式集群管理***中增加缓存处理机制,在预设的时间片阈值内和/或达到预设的缓存水位阈值时,即通过时间片阈值和缓存水位阈值共同控制,会对所述分布式业务集群和所述分布式集群管理***中的节点缓存数据进行备份保存。
步骤S12:实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息。
本实施例中,在创建完包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群之后,实时的获取上述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息。其中,所述节点的状态信息包括但不限于各业务节点的配置信息和配置服务信息等。
步骤S13:对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。
本实施例中,实时的获取到所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息之后,会对上述分布式业务集群中的各个业务节点进行实时监测,当监测到所述主业务节点异常时则根据上述业务节点状态信息从上述从业务节点中确定出一个目标从业务节点,并从上述目标从业务节点中获取所述目标数据,然后利用获取到的上述目标数据对整个所述持续集成***进行集成操作。
本实施例中,所述利用所述目标数据对持续集成***进行集成,具体可以包括:将所述目标数据合并到预设的版本控制***中,以便所述版本控制***利用所述目标数据自动运行构建和用例测试,得到自动化用例运行结果,并在镜像仓库发布应用程序。可以理解的是,从上述目标从业务节点中获取到所述目标数据之后,可以将上述目标数据合并到预设的版本控制***中,所述版本控制***获取到上述目标数据之后,将利用上述目标数据自动运行构建和用例测试,得到相应得到自动化用例运行结果,并对所述自动化用例运行结果进行分析,在所述自动化用例运行结果无误的情况下,将在镜像仓库发布应用程序。
本实施例中,得到所述自动化用例运行结果之后,具体还包括:根据所述自动化用例运行结果判断集成是否成功,如果失败则进行异常分析,得到异常分析结果;根据所述异常分析结果判断是否是由业务代码问题而引起的,若否则重新触发所述利用所述目标数据对持续集成***进行集成的步骤,若是则生成相应的异常告警信息并按照预设的提示方式发送至开发者终端。可以理解的是,根据对上述自动化用例运行结果进行分析可以判断集成是否成功,如果判断集成失败则会进行相应的异常分析,得到异常分析结果,根据上述异常分析结果进一步的判断是否是由业务代码问题而引起的,如果不是由业务代码问题而引起的则重新执行上述利用所述目标数据对持续集成***进行集成的步骤,如果是由业务代码问题而引起的则生成相应的异常告警信息并按照预设的提示方式发送至开发者终端。例如,可以实时的以邮件的方式推送至开发者终端并在大屏界面上进行展示。
具体的,参见图2所示,图2示出了所述持续集成方法的整个业务流程图。首先由开发人员提交代码到应用程序对应的代码仓库,例如,GIT(一个开源的分布式版本控制***)或SVN(Subversion,一种开放源代码的版本控制***),然后按照预先定义的构建关系,在jenkins(基于Java开发的一种持续集成工具)集群中指定不同的Slave去构建应用程序。构建完成后推送镜像到测试环境,并判断推送是否成功,若成功则启动应用对应的自动化测试用例集,并推送自动化用例运行结果,然后在镜像仓库发布应用程序;若失败则对失败原因进行异常分析并判断是否是由业务代码引起的,若否则触发对应的自动化测试用例集,并推送自动化用例运行结果,并在推送成功后在镜像仓库发布应用程序,若推送失败则进行异常分析,并在异常分析结果显示是由业务代码引起时,直接生成相应的异常告警信息并通过邮件的形式发送至开发者终端并在大屏上显示,如果是由非业务代码问题引起的将会重新触发jenkins镜像构建,其他问题导致的失败或者自动化测试结果显示失败,将会把jenkins日志打包通过邮件的方式推送至代码提交人员(开发人员),同时也会在大屏上进行同步展示。
可见,本申请实施例先创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群,然后实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息,并对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。可见,本申请实施例通过创建分布式业务集群,并通过集群中各节点的状态信息构建候选队列,确保在单节点出现异常时能够选举新的节点接替任务,能够保证整体持续集成过程高可靠,加速产品迭代交付,保证数据的安全。
本申请实施例公开了一种具体的持续集成方法,参见图3所示,该方法包括:
步骤S21:创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群;其中,所述主业务节点中保存的目标数据按照预设的同步规则同步至所述从业务节点。
步骤S22:实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息。
步骤S23:获取所述分布式业务集群中业务节点对应的操作***的日志信息,并根据所述日志信息判断所述分布式业务集群中是否存在异常业务节点。
本实施例中,在实时的获取到所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息之后,采集上述分布式业务集群中业务节点对应的操作***的日志信息(即OS,Operating System),如dmesg(display message,显示开机信息)文件、dump文件或messages文件中记录的日志信息,并根据采集到的上述日志信息判断所述分布式业务集群中是否存在异常的业务节点。
步骤S24:若所述分布式业务集群中存在异常业务节点则按照预设的标记规则对所述异常业务节点进行标记,得到异常标记业务节点,并将所述异常业务标记节点从所述分布式业务集群中删除。
本实施例中,在获取到所述分布式业务集群中业务节点对应的操作***的日志信息,并根据所述日志信息判断所述分布式业务集群中是否存在异常业务节点之后,如果所述分布式业务集群中存在异常业务节点,则按照预设的标记规则对上述异常业务节点进行标记,得到异常标记业务节点,并将上述异常业务标记节点从上述分布式业务集群中删除。例如,按照预设的赋值规则将异常业务节点赋值为100,将正常业务节点赋值为0,并将赋值为100的业务节点从分布式业务集群中删除。
步骤S25:对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则利用所述业务节点状态信息计算所述从业务节点的方差,得到从业务节点方差。
本实施例中,如果所述分布式业务集群中存在异常业务节点则按照预设的标记规则对所述异常业务节点进行标记,得到异常标记业务节点,并将所述异常业务标记节点从所述分布式业务集群中删除之后,如果监测到上述主业务节点异常,例如监测到主业务节点赋值为100,则利用上述业务节点状态信息计算各个所述从业务节点的方差,得到从业务节点方差。需要指出的是,上述从业务节点是经过异常业务节点删除后的业务节点,即当前所述分布式业务集群中不存在异常的从业务节点。
步骤S26:按照所述从业务节点方差从小到大的顺序对所述从业务节点方差对应的所述从业务节点进行排序,得到目标候选队列,并从所述目标候选队列中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。
本实施例中,当监测到所述主业务节点异常时,利用所述业务节点状态信息计算所述从业务节点的方差,得到从业务节点方差之后,按照从小到大的顺序对上述从业务节点方差进行排序,得到排序后的队列,即所述目标候选队列,然后从上述目标候选队列中确定出目标从业务节点,进而从上述目标从业务节点中获取到所述目标数据,进一步的可以利用获取到的上述目标数据对所述持续集成***进行集成操作。
其中,关于上述步骤S21、S22更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例在实时的获取到分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息之后,获取所述分布式业务集群中业务节点对应的操作***的日志信息,并根据所述日志信息判断所述分布式业务集群中是否存在异常业务节点,若所述分布式业务集群中存在异常业务节点则按照预设的标记规则对所述异常业务节点进行标记,得到异常标记业务节点,并将所述异常业务标记节点从所述分布式业务集群中删除,当监测到主业务节点异常时则利用所述业务节点状态信息计算所述从业务节点的方差,得到从业务节点方差,然后按照所述从业务节点方差从小到大的顺序对所述从业务节点方差对应的所述从业务节点进行排序,得到目标候选队列,并从所述目标候选队列中确定出目标从业务节点,再从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。可见,本申请实施例通过实时的计算各分布式业务集群中业务节点的方差,构建分布式业务集群的候选队列,确保在分布式业务集群中的主业务节点出现异常能够从有效的从业务节点中选举出新的从业务节点接替任务,避免单点故障,从而加速和保障产品交付。
相应的,本申请实施例还公开了一种持续集成装置,参见图4所示,该装置包括:
业务集群创建模块11,用于创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群;其中,所述主业务节点中保存的目标数据按照预设的同步规则同步至所述从业务节点;
状态信息获取模块12,用于实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息;
集成模块13,用于对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。
其中,关于上述各个模块的具体工作流程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例中,先创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群,然后实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息,并对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。可见,本申请实施例通过创建分布式业务集群,并通过集群中各节点的状态信息构建候选队列,能够确保在单节点出现异常时能够选举新的节点接替任务,保证整体持续集成过程高可靠,加速产品迭代交付,保证数据的安全。
在一些具体实施例中,所述集成模块13,具体可以包括:
计算单元,用于利用所述业务节点状态信息计算所述从业务节点的方差,得到从业务节点方差;
排序单元,用于按照所述从业务节点方差从小到大的顺序对所述从业务节点方差对应的所述从业务节点进行排序,得到目标候选队列,并从所述目标候选队列中确定出目标从业务节点。
在一些具体实施例中,所述持续集成装置,还可以包括:
分布式集群管理***构建单元,用于构建用于对所述分布式业务集群进行管理的分布式集群管理***;其中,所述分布式集群管理***包括一个主管理节点和第二预设数量的从管理节点;
第一判断单元,用于判断所述分布式集群管理***中所述主管理节点是否正常;
第一管理单元,用于如果正常则通过所述主管理节点对所述分布式业务集群进行管理;
第二管理单元,用于如果异常则从所述从管理节点中确定出目标从管理节点,并通过所述目标从管理节点对所述分布式业务集群进行管理。
在一些具体实施例中,所述持续集成装置,还可以包括:
缓存数据备份单元,用于在预设的时间片阈值内和/或达到预设的缓存水位阈值时,对所述分布式业务集群和所述分布式集群管理***中的节点缓存数据进行备份。
在一些具体实施例中,所述集成模块13,具体可以包括:
集成单元,用于将所述目标数据合并到预设的版本控制***中,以便所述版本控制***利用所述目标数据自动运行构建和用例测试,得到自动化用例运行结果,并在镜像仓库发布应用程序。
在一些具体实施例中,所述持续集成装置,还可以包括:
第二判断单元,用于根据所述自动化用例运行结果判断集成是否成功;
异常分析单元,用于如果失败则进行异常分析,得到异常分析结果;
第三判断单元,用于根据所述异常分析结果判断是否是由业务代码问题而引起的,若否则重新触发所述利用所述目标数据对持续集成***进行集成的步骤,若是则生成相应的异常告警信息并按照预设的提示方式发送至开发者终端。
在一些具体实施例中,所述集成模块13,具体可以包括:
信息获取单元,用于获取所述分布式业务集群中业务节点对应的操作***的日志信息;
第四判断单元,用于根据所述日志信息判断所述分布式业务集群中是否存在异常业务节点;
业务节点标记单元,用于如果所述分布式业务集群中存在异常业务节点则按照预设的标记规则对所述异常业务节点进行标记,得到异常标记业务节点;
删除单元,用于将所述异常业务标记节点从所述分布式业务集群中删除。
进一步的,本申请实施例还公开了一种电子设备,图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的持续集成方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作***221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的持续集成方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的持续集成方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包括”或者其任何其他变体意在涵盖非排他性的包括,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种持续集成方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种持续集成方法,其特征在于,包括:
创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群;其中,所述主业务节点中保存的目标数据按照预设的同步规则同步至所述从业务节点;
实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息;
对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。
2.根据权利要求1所述的持续集成方法,其特征在于,所述根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,包括:
利用所述业务节点状态信息计算所述从业务节点的方差,得到从业务节点方差;
按照所述从业务节点方差从小到大的顺序对所述从业务节点方差对应的所述从业务节点进行排序,得到目标候选队列,并从所述目标候选队列中确定出目标从业务节点。
3.根据权利要求1所述的持续集成方法,其特征在于,还包括:
构建用于对所述分布式业务集群进行管理的分布式集群管理***;其中,所述分布式集群管理***包括一个主管理节点和第二预设数量的从管理节点;
判断所述分布式集群管理***中所述主管理节点是否正常,若正常则通过所述主管理节点对所述分布式业务集群进行管理,若异常则从所述从管理节点中确定出目标从管理节点,并通过所述目标从管理节点对所述分布式业务集群进行管理。
4.根据权利要求3所述的持续集成方法,其特征在于,还包括:
在预设的时间片阈值内和/或达到预设的缓存水位阈值时,对所述分布式业务集群和所述分布式集群管理***中的节点缓存数据进行备份。
5.根据权利要求1所述的持续集成方法,其特征在于,所述利用所述目标数据对持续集成***进行集成,包括:
将所述目标数据合并到预设的版本控制***中,以便所述版本控制***利用所述目标数据自动运行构建和用例测试,得到自动化用例运行结果,并在镜像仓库发布应用程序。
6.根据权利要求5所述的持续集成方法,其特征在于,还包括:
根据所述自动化用例运行结果判断集成是否成功,如果失败则进行异常分析,得到异常分析结果;
根据所述异常分析结果判断是否是由业务代码问题而引起的,若否则重新触发所述利用所述目标数据对持续集成***进行集成的步骤,若是则生成相应的异常告警信息并按照预设的提示方式发送至开发者终端。
7.根据权利要求1至6任一项所述的持续集成方法,其特征在于,所述对所述分布式业务集群中的业务节点进行监测,包括:
获取所述分布式业务集群中业务节点对应的操作***的日志信息,并根据所述日志信息判断所述分布式业务集群中是否存在异常业务节点;
若所述分布式业务集群中存在异常业务节点则按照预设的标记规则对所述异常业务节点进行标记,得到异常标记业务节点,并将所述异常业务标记节点从所述分布式业务集群中删除。
8.一种持续集成装置,其特征在于,包括:
业务集群创建模块,用于创建包括一个主业务节点和第一预设数量的从业务节点的分布式业务集群;其中,所述主业务节点中保存的目标数据按照预设的同步规则同步至所述从业务节点;
状态信息获取模块,用于实时的获取所述分布式业务集群中所有业务节点的状态信息,得到业务节点状态信息;
集成模块,用于对所述分布式业务集群中的所有业务节点进行监测,当监测到所述主业务节点异常时则根据所述业务节点状态信息从所述从业务节点中确定出目标从业务节点,并从所述目标从业务节点中获取所述目标数据,以便利用所述目标数据对持续集成***进行集成。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的持续集成方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的持续集成方法。
CN202111552876.3A 2021-12-17 2021-12-17 一种持续集成方法、装置、设备及存储介质 Withdrawn CN114338363A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111552876.3A CN114338363A (zh) 2021-12-17 2021-12-17 一种持续集成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111552876.3A CN114338363A (zh) 2021-12-17 2021-12-17 一种持续集成方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114338363A true CN114338363A (zh) 2022-04-12

Family

ID=81052918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111552876.3A Withdrawn CN114338363A (zh) 2021-12-17 2021-12-17 一种持续集成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114338363A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277547A (zh) * 2022-07-29 2022-11-01 济南浪潮数据技术有限公司 一种路径调整方法、装置、设备及介质
CN115695320A (zh) * 2023-01-04 2023-02-03 苏州浪潮智能科技有限公司 一种前后端负载管理方法、***、设备及计算机存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277547A (zh) * 2022-07-29 2022-11-01 济南浪潮数据技术有限公司 一种路径调整方法、装置、设备及介质
CN115695320A (zh) * 2023-01-04 2023-02-03 苏州浪潮智能科技有限公司 一种前后端负载管理方法、***、设备及计算机存储介质

Similar Documents

Publication Publication Date Title
CN103635885B (zh) 通过提供预构建环境的即时可用性来部署用于测试的环境
CN107660289B (zh) 自动网络控制
CN114338363A (zh) 一种持续集成方法、装置、设备及存储介质
US20140059199A1 (en) Transaction-level health monitoring of online services
CN113312153B (zh) 一种集群部署方法、装置、电子设备及存储介质
CN110765018A (zh) 接口自动化测试方法及设备
US7673178B2 (en) Break and optional hold on failure
CN113778486A (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN114168471A (zh) 测试方法、装置、电子设备及存储介质
US10970159B1 (en) Automated system maintenance capabilities for a computing system
JP5513926B2 (ja) 保守作業支援システム
JP2017016507A (ja) テスト管理システムおよびプログラム
CN109299124B (zh) 用于更新模型的方法和装置
CN108241545B (zh) ***故障的调试方法及装置
CN111064624A (zh) 一种整机柜节点定位方法、装置、设备及可读存储介质
CN115525568A (zh) 代码覆盖率的巡检方法、装置、计算机设备及存储介质
CN112596750B (zh) 应用测试方法、装置、电子设备及计算机可读存储介质
CN112783730B (zh) 一种接口的监测方法、装置、介质及电子设备
CN110134558B (zh) 一种服务器的检测方法和装置
US20160275002A1 (en) Image capture in application lifecycle management for documentation and support
US8595172B2 (en) Ensuring high availability of services via three phase exception handling
CN112835739B (zh) 宕机处理方法和装置
KR102221436B1 (ko) 컴퓨터 프로그램 자동 실행 방법
US8825610B1 (en) System management based on goals relevant to a current state of a managed system
CN113704212A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20220412

WW01 Invention patent application withdrawn after publication