用于教育云平台的自动化持续集成管理方法与流程

文档序号:18617853发布日期:2019-09-06 22:12阅读:221来源:国知局
用于教育云平台的自动化持续集成管理方法与流程

本发明涉及教育云平台领域,特别涉及一种用于教育云平台的自动化持续集成管理方法。



背景技术:

目前随着计算机技术、网络技术创新进步,特别是虚拟化技术的进步,还有新概念、新方案的创新和发展,尤其是docker、kubernetes技术的快速发展,为在线教育云平台的推出奠定了基础。教育云平台采用微服务架构,微服务架构解决了传统的分层架构中的一些问题,它的核心特点是高可伸缩性、易于开发、测试和部署独立的服务组件,这些服务组件解耦的、分布式的、相互独立的。如何在教育云平台将各服务组件进行有机协调,快速相应客户的需求,提高向用户的交付速度成为亟待解决的问题。



技术实现要素:

有鉴于此,本发明旨在提供一种用于教育云平台的自动化持续集成管理方法,以提高教育云平台向用户的交付速度。

具体而言,本发明提供一种用于教育云平台的自动化持续集成管理方法,包括:基于devops持续集成交付流水线技术,在教育云平台的生产环境部署配置持续集成交付流水线,所述持续集成交付流水线依次用于负责管理自动化集成与测试环境、预生产环境、以及生产环境的部署;

接收代码触发所述持续集成交付流水线开始工作;

对所述代码进行编译,自动化集成;

根据所述自动化集成的结果部署所述测试环境,进行测试;

在测试表征第一质量指标达到第一预设合格阈值后,根据所述自动化集成的结果部署所述预生产环境,进行测试;

在测试表征第二质量指标达到第二预设合格阈值后,根据所述自动化集成的结果部署所述生产环境。

进一步地,所述根据所述自动化集成的结果部署所述生产环境的步骤之后包括;

进行第一回归测试。

进一步地,所述接收代码触发所述持续集成交付流水线开始工作的步骤包括;

教育云平台的gitlab服务器接收代码触发所述持续集成交付流水线开始工作。

进一步地,所述对所述代码进行编译,自动化集成的步骤依次包括以下步骤;

对所述代码进行编译打包,

进行单元测试;

根据预设的代码规范,对编译打包后的代码进行扫描;

收集第一元数据,所述第一元数据包括所述单元测试的结果,所述gitlab服务器为代码分配的命令id,所述代码中自带的事务id;

根据所述第一元数据生成镜像文件,并将所述镜像文件上传到镜像仓库;所述镜像文件包括测试镜像文件、预生产镜像文件、以及生产镜像文件;

进行镜像安全扫描。

进一步地,所述将所述自动化集成的结果部署到所述测试环境,进行测试的步骤包括:

将所述测试镜像文件部署到所述测试环境,依次进行接口测试、第二回归测试、qa测试、以及集成测试;

收集第二元数据,所述第二元数据包括接口测试结果、第二回归测试结果、qa测试结果、以及集成测试结果。

进一步地,所述在测试表征第一质量指标达到第一预设合格阈值后,根据所述自动化集成的结果部署所述预生产环境,进行测试的步骤包括:

在所述接口测试结果达到预设的接口合格阈值、第二回归测试结果达到预设的第二回归合格阈值、qa测试结果达到预设的qa合格阈值、以及集成测试结果达到预设的集成合格阈值时,根据所述预生产镜像文件部署所述预生产环境;所述表征第一质量指标包括所述接口测试结果、第二回归测试结果、qa测试结果以及集成测试结果;所述第一预设合格阈值包括接口合格阈值、第二回归合格阈值、qa合格阈值、以及集成合格阈值;

进行性能测试、用户测试、第三回归测试,并收集第三元数据,所述第三元数据包括性能测试结果、用户测试结果、第三回归测试结果。

进一步地,所述在测试表征第二质量指标达到第二预设合格阈值后,根据所述自动化集成的结果部署所述生产环境的步骤包括:

在所述性能测试结果达到预设的性能合格阈值、用户测试结果达到预设的用户合格阈值、以及第三回归测试结果达到预设的第三回归合格阈值时,根据所述生产镜像文件部署所述生产环境;所述表征第二质量指标包括所述性能测试结果、用户测试结果、以及第三回归测试结果;所述第二预设合格阈值包括性能合格阈值、用户合格阈值、以及第三回归合格阈值;

收集第四元数据,所述第四元数据包括所述第一回归测试的测试结果。

本发明的用于教育云平台的自动化持续集成管理方法,通过基于devops持续集成交付流水线技术,在教育云平台的生产环境部署配置持续集成交付流水线,所述持续集成交付流水线依次用于负责管理自动化集成与测试环境、预生产环境、以及生产环境的部署,通过devops持续集成交付------流水线技术在教育云平台上应用,加快了产品向用户的交付速度。

附图说明

并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种用于教育云平台的自动化持续集成管理方法的流程图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为本发明实施例提供的一种用于教育云平台的自动化持续集成管理方法的流程图;如图1所示,该用于教育云平台的自动化持续集成管理方法包括:

步骤10(图中未示出):基于devops持续集成交付流水线技术,在教育云平台的生产环境部署配置持续集成交付流水线,所述持续集成交付流水线依次用于负责管理自动化集成与测试环境、预生产环境、以及生产环境的部署;

上述步骤10具体可以包括:以分布式部署的方式部署和执行devops持续集成交付流水线,包括在以kubernetes为基础的云平台(即教育云平台)中部署jenkins的master节点和动态创建jenkins的worker节点;以产品线为分类基础,创建devops持续集成交付流水线上的微服务job、分配权限,以解决教育云平台中持续集成交付的权限管理的问题;按照教育云平台中的服务和应用的重要等级和影响范围,创建不同等级和步骤的devops持续集成交付流水线;自动化集成与测试环境、预生产环境、以及生产环境的等级依次升高,以实现建立应用和服务的等级制度,建立不同等级的流水线;

步骤11:接收代码触发所述持续集成交付流水线开始工作;

步骤12:对所述代码进行编译,自动化集成;

步骤13:根据所述自动化集成的结果部署所述测试环境,进行测试;

步骤14:在测试表征第一质量指标达到第一预设合格阈值后,根据所述自动化集成的结果部署所述预生产环境,进行测试;

步骤15:在测试表征第二质量指标达到第二预设合格阈值后,根据所述自动化集成的结果部署所述生产环境。第一质量指标和第二质量指标的等级依次升高,由此实现建立不同等级的质量关卡;

优选地,步骤15之后包括;进行第一回归测试。回归测试的目标是代码编译的交付物及交付物所在的环境;在步骤15之前,制定回归测试的策略和验收质量指标,编写测试脚本,持续集成交付流水线执行该脚本,进行回归测试。

优选地,步骤11包括;教育云平台的gitlab服务器接收代码触发所述持续集成交付流水线开始工作。

优选地,步骤12依次包括以下步骤;

对所述代码进行编译打包,

进行单元测试;具体为:持续集成交付流水线执行开发人员编写的单元测试脚本,对代码进行最小单元的测试。

根据预设的代码规范,对编译打包后的代码进行扫描,便于设立统一的代码的提交规范;

收集第一元数据,所述第一元数据包括所述单元测试的结果,所述gitlab服务器为代码分配的命令id,所述代码中自带的事务id;

根据所述第一元数据生成镜像文件,并将所述镜像文件上传到镜像仓库;所述镜像文件包括测试镜像文件、预生产镜像文件、以及生产镜像文件,测试镜像文件、预生产镜像文件、以及生产镜像文件的安全级别依次升高,以建立不同安全级别的docker镜像仓库;第一元数据中包含单元测试的结果,包括单元测试覆盖率、通过率,该结果与单元测试的质量指标进行比较,合格后生成docker镜像文件。

进行镜像安全扫描。具体通过专业的第三方工具xray,对镜像进行安全扫描,该工具已经被集成在了持续集成交付流水线中。

优选地,步骤13包括:

将所述测试镜像文件部署到所述测试环境,依次进行接口测试、第二回归测试、qa测试、以及集成测试;这几种测试都有相应的测试脚本,测试脚本由开发人员或是测试人员来编写,并集成在持续集成交付流水线中执行这些测试脚本;应用系统的用户界面ui的布局、风格一致性、美观性等部分的测试,由人工完成,不在流水线中完成。

收集第二元数据,所述第二元数据包括接口测试结果、第二回归测试结果、qa测试结果、以及集成测试结果。

优选地,步骤14包括:

在所述接口测试结果达到预设的接口合格阈值、第二回归测试结果达到预设的第二回归合格阈值、qa测试结果达到预设的qa合格阈值、以及集成测试结果达到预设的集成合格阈值时,根据所述预生产镜像文件部署所述预生产环境;所述表征第一质量指标包括所述接口测试结果、第二回归测试结果、qa测试结果以及集成测试结果;所述第一预设合格阈值包括接口合格阈值、第二回归合格阈值、qa合格阈值、以及集成合格阈值;

进行性能测试、用户测试、第三回归测试(具体通过持续集成交付流水线执行相应的测试脚本,通过专业的测试工具完成测试),并收集第三元数据,所述第三元数据包括性能测试结果、用户测试结果、第三回归测试结果。

优选地,步骤15包括:

在所述性能测试结果达到预设的性能合格阈值、用户测试结果达到预设的用户合格阈值、以及第三回归测试结果达到预设的第三回归合格阈值时,根据所述生产镜像文件部署所述生产环境;所述表征第二质量指标包括所述性能测试结果、用户测试结果、以及第三回归测试结果;所述第二预设合格阈值包括性能合格阈值、用户合格阈值、以及第三回归合格阈值;

收集第四元数据,所述第四元数据包括所述第一回归测试的测试结果。

本实施例通过在生产环境部署配置持续集成交付流水线,负责管理生产环境、预生产环境、测试环境的部署和自动化集成,以及账号、权限、集群等信息的管理和维护,在教育云平台中的服务和应用的开发人员,提交代码后,自动触发devops持续集成流水线开始工作,将应用和服务部署到相应的环境中,流水线获取最新代码,进行编译集成,之后依次进行单元测试、进行代码质量规范扫描、收集第一元数据、生成各镜像文件并上传到镜像仓库、进行镜像安全扫描、部署到测试环境、在测试环境进行接口测试、qa测试、集成测试,并收集第二元数据、第一质量指标项合格后,部署到预生产环境、部署到预生产环境后,进行性能测试、用户测试、回归测试,并收集第三元数据、在第二质量指标项合格后,部署到生产环境,并进行回归测试和收集第四元数据。在教育云平台上使用devops的新思想、新模式、新制度和流程,能够加快用户、产品设计、开发人员、测试人员、运维人员、运营人员,以及管理者之间的信息沟通、相互协作,提高企业效能;加快产品的迭代速度,缩短产品交付的周期;可以安全、可靠、频繁的、自动化的发布应用和服务,为客户创造价值。在产品、服务的开发周期的各个阶段设立度量指标,更快的发现问题和解决问题,不断的迭代、优化流水线,为向客户交付价值提供有力的支持。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1