一种基于“平台+应用”模式的持续集成方法技术

技术编号:18657791 阅读:30 留言:0更新日期:2018-08-11 14:20
一种基于“平台+应用”模式的持续集成方法,具体包括以下步骤:抽象出平台和应用;资源配置统一管理;平台和产品发布包也作为一种资源进行统一配置管理,信息存储采用xml格式,并统一以web方式展现;定义平台、产品,并准备构建模板、部署测试模板、测试用例;平台自动集成构建;平台自动部署测试;多个产品的软件集成构建;产品自动部署测试。本发明专利技术增强了各产品的底层――即平台的稳定性,加速了软件持续集成速度,提高了产品开发的效率和正确率,缩短了开发的周期,适用于框架分层结构清晰的软件族群的协调开发。

A continuous integration method based on platform + application mode

A method of continuous integration based on \platform + application\ mode is proposed, which includes the following steps: abstracting platform and application; unified management of resource configuration; unified configuration management of platform and product publishing package as a resource; XML format for information storage and unified web presentation; defining platform, product, and so on. And prepare to build templates, deploy test templates, test cases; platform automatic integration construction; platform automatic deployment testing; software integration construction of multiple products; product automatic deployment testing. The invention enhances the stability of the bottom layer of each product, that is, the platform, accelerates the speed of software continuous integration, improves the efficiency and accuracy of product development, shortens the development cycle, and is suitable for the coordinated development of software groups with clear framework hierarchical structure.

【技术实现步骤摘要】
一种基于“平台+应用”模式的持续集成方法
本专利技术应用于大型软件研发领域,包括Linux、UNIX、Win等操作系统上的大型软件开发,特别适合具有多自动化软件产品群的开发过程。
技术介绍
随着社会发展,软件尤其是各行业软件的规模越来越大,包含的模块也越来越多,相互联系合作性也越来越强,持续地集成(ContinuousIntegration)在软件开发过程中也越来越重要。持续集成,起源于敏捷软件开发中的极限编程思想,是完全地自动化地构建过程,使得一个开发团队在一天中多次构建并测试软件。持续集成鼓励软件开发项目团队在一个周期内(如一天)多次提交代码,同时保证每次签入操作都不会损害已经通过的构建。这样及时发现问题,减少风险,减少重复工作,降低部署难度,对于管理者来说也增加项目的可见性。一般来说,一个公司的软件产品都不只一个,都是一个软件产品群,这些软件相互关联,有些有交互接口,甚至有些软件的部分代码功能都完全相同,这样完全可以整合出一个内部公共软件平台,在此平台基础上二次开发面向市场的产品,这种情形下,持续集成如果还是按照通常惯例来进行(从所有源码到一个软件发布包进行部署测试,再下一个软件集成),就存在重复代码重复测试重复缺陷bug等问题。针对这种情况,本专利技术提出了一种基于“平台+应用”模式的持续集成方法,即加快了产品的集成速度,较低了风险,也大大稳定了内部平台,减少对外软件产品的缺陷bug。
技术实现思路
本专利技术是在统一规划设计软件群的基础上,提出了“平台+应用”模式的持续集成方法,来稳定通用平台功能,加快多个产品的持续集成速度,减少各软件产品的缺陷。本专利技术的持续集成方法能够较少开发量,增强各产品底层功能的稳定性,加快一个公司内各软件产品的集成速度。为了更好地理解本专利技术的技术方案,首先对本专利技术中所出现的技术术语说明如下。持续集成的几个要素:统一代码等资源管理、自动快速构建(即编译打包发布)、模拟生产环境的自动测试、自动化的部署。并且做到每个人都很容易地获取最新可执行的软件发布包,都知道项目当前进展。平台:在各软件产品的设计阶段中,梳理各产品的需求,在通用架构或功能层次上进行抽象,并建立二次开发机制应对各产品需求的差异,形成一个通用平台。平台的抽象,其实质是软件可复用性设计的一个具体体现,使得建立在此平台上的各应用产品可以把关注点放在产品需要实现的数据流、逻辑等问题上,而不需关心底层实现的细节(如怎么消息通讯,怎么实时数据共享等),提高了软件开发的效率和正确率,缩短了开发的周期。应用:对多个产品抽象的,面向用户直接需求的功能集。产品:是在平台基础上的包含一个或多个应用的软件,是一个具体的产品,直接提供给用户使用的一个完整的软件发布。本专利技术具体采用以下技术方案:一种基于“平台+应用”模式的持续集成方法,其特征在于,所述持续集成方法包括以下步骤:步骤1:首先在各软件产品的设计阶段进行统一规划,梳理软件需求,在架构上或功能上进行抽象,提取各产品共有功能或属性为平台,提取部分产品共有功能或属性为应用,并且在设计平台时增加支持二次开发的设计需求;步骤2:建立资源服务器对以下资源进行集中管理:平台、应用的源代码、各产品的测试用例、配置文件、所用到的第三方组件或动态库、数据库定义、用于初始化工程的数据文件、产品搭建脚本、产品搭建运行环境的配置文件或安装脚本;步骤3:将平台和各产品的各版本的发布包作为一种资源进行统一配置管理,以版本号、平台名称、产品名称、运行的操作系统名称为关键字,信息存储采用xml格式,并统一以web方式展现,在后续的产品持续集成中使用;步骤4:定义产品包含哪些应用,基于哪个平台;编写平台、产品构建模板,包括编译打包脚本、发布包使用的安装脚本;定义各平台、产品的部署测试模板、测试用例,定义产品构建模板;步骤5:使用统一发布工具,执行步骤4定义的平台构建模板自动执行软件集成,自动构建出特定版本号的各操作系统的平台安装发布包,并自动提交资源服务器统一管理,并自动采用邮件等方式通知相关人员;步骤6:执行步骤4定义的平台部署测试模板,对平台发布包进行单独的自动部署,进行自动测试;若测试发现缺陷,即为多产品共有缺陷,则修改平台代码、配置或第三方包,再返回步骤5进行迭代集成构建;步骤7:开始产品的集成构建,使用统一发布工具,选择集成所使用的平台发布包版本号,执行步骤4中定义的产品构建模板来自动进行软件集成;步骤8:进行产品软件自动部署测试,根据步骤4定义的产品部署测试模板,对各产品发布包进行单独的自动部署,自动测试,若发现缺陷,修改产品或平台的代码、配置,当修改的是产品的代码、配置,则修改后返回步骤7;当修改的是平台的代码、配置,则修改后返回步骤5进行迭代集成构建;步骤9:集成构建产品补丁,以SVN修改记录、新编译结果文件来共同确定补丁中包含哪些文件,并在制作过程中采用了创建基准文件的方式来自动挑选确定补丁包中的内容。本专利技术进一步包括以下优选方案:在步骤1中,各产品共有功能或属性可以包括但不限于:需要开发的各自动化产品都必要的字符串通用操作库、基本统计函数库、监控基本处理流程库、通讯底层封装库、实时数据库、消息总线。所述支持二次开发的设计需求包括但不限于二次开发接口。在步骤2中,所述资源服务器支持网站查询浏览。在步骤4中,编译打包脚本采用JavaScript语言来定义平台、产品的编译和打包制作的过程;安装脚本采用Lua语言定义各发布包的自动安装过程。在步骤5中,通过平台构建模板自动执行软件集成的具体流程如下:5.1从代码库(SVN)获取平台代码;5.2从第三方库获取平台第三方资源压缩包并解压5.3执行代码的编辑脚本;5.4当是大版本制作时,根据配置选择相关文件进行压缩,并写入版本号、各SVN号等信息;5.5当是补丁制作时,选择比基准文件时间新的文件进行压缩,并写入版本号、各SVN号等信息;5.6制作自有格式的各操作系统上的软件安装包;5.7软件安装包提交资源服务器,进行统一资源管理,并通过邮件方式通知相关人员。在步骤7中,产品的集成构建流程如下:7.1根据产品构建模板的打包脚本从资源服务器获取指定版本号的平台发布包,并解压平台但不执行安装脚本;7.2从代码库(SVN)获取产品代码,所述产品代码包含多个SVN地址,包含多个应用代码;7.3从第三方库获取产品第三方资源压缩包并解压;7.4执行编辑脚本;7.5当是大版本制作时,根据配置选择相关文件进行压缩,并写入版本号、各SVN号等信息;7.6当是补丁制作时,选择比基准文件时间新的文件进行压缩,并写入版本号、各SVN号等信息;7.7制作自有格式的各操作系统上的产品安装包;7.8将产品安装包提交资源服务器进行统一管理,并通过邮件方式通知相关人员。本专利技术具有以下有益的技术效果:本专利技术针对软件族群的功能特点,对问题提出了更高层的抽象,抽象出平台和应用,使得多产品间共性的问题统一解决,在此基础上的持续集成也利用此特性,进行“平台+应用”的多层次配合的持续集成,提高了软件开发的效率和正确率,缩短了开发的周期。附图说明下面结合附图及具体实施例对本专利技术再作进一步详细的说明,图1为本专利技术基于“平台+应用”模式的持续集成方法的流程示意图;图2是平台、应用、产品的关系示例图;图3是平本文档来自技高网...

【技术保护点】
1.一种基于“平台+应用”模式的持续集成方法,其特征在于,所述持续集成方法包括以下步骤:步骤1:首先在各软件产品的设计阶段进行统一规划,梳理软件需求,在架构上或功能上进行抽象,提取各产品共有功能或属性为平台,提取部分产品共有功能或属性为应用,并且在设计平台时增加支持二次开发的设计需求;步骤2:建立资源服务器对以下资源进行集中管理:平台、应用的源代码、各产品的测试用例、配置文件、所用到的第三方组件或动态库、数据库定义、用于初始化工程的数据文件、产品搭建脚本、产品搭建运行环境的配置文件或安装脚本;步骤3:将平台和各产品的各版本的发布包作为一种资源进行统一配置管理,以版本号、平台名称、产品名称、运行的操作系统名称为关键字,信息存储采用xml格式,并统一以web方式展现,在后续的产品持续集成中使用;步骤4:定义产品包含哪些应用,基于哪个平台;编写平台、产品构建模板,包括编译打包脚本、发布包使用的安装脚本;定义各平台、产品的部署测试模板、测试用例,定义产品构建模板;步骤5:使用统一发布工具,执行步骤4定义的平台构建模板自动执行软件集成,自动构建出特定版本号的各操作系统的平台安装发布包,并自动提交资源服务器统一管理,并自动采用邮件等方式通知相关人员;步骤6:执行步骤4定义的平台部署测试模板,对平台发布包进行单独的自动部署,进行自动测试;若测试发现缺陷,即为多产品共有缺陷,则修改平台代码、配置或第三方包,再返回步骤5进行迭代集成构建;步骤7:开始产品的集成构建,使用统一发布工具,选择集成所使用的平台发布包版本号,执行步骤4中定义的产品构建模板来自动进行软件集成;步骤8:进行产品软件自动部署测试,根据步骤4定义的产品部署测试模板,对各产品发布包进行单独的自动部署,自动测试,若发现缺陷,修改产品或平台的代码、配置,当修改的是产品的代码、配置,则修改后返回步骤7;当修改的是平台的代码、配置,则修改后返回步骤5进行迭代集成构建。步骤9:集成构建产品补丁,以SVN修改记录、新编译结果文件来共同确定补丁中包含哪些文件,并在制作过程中采用了创建基准文件的方式来自动挑选确定补丁包中的内容。...

【技术特征摘要】
1.一种基于“平台+应用”模式的持续集成方法,其特征在于,所述持续集成方法包括以下步骤:步骤1:首先在各软件产品的设计阶段进行统一规划,梳理软件需求,在架构上或功能上进行抽象,提取各产品共有功能或属性为平台,提取部分产品共有功能或属性为应用,并且在设计平台时增加支持二次开发的设计需求;步骤2:建立资源服务器对以下资源进行集中管理:平台、应用的源代码、各产品的测试用例、配置文件、所用到的第三方组件或动态库、数据库定义、用于初始化工程的数据文件、产品搭建脚本、产品搭建运行环境的配置文件或安装脚本;步骤3:将平台和各产品的各版本的发布包作为一种资源进行统一配置管理,以版本号、平台名称、产品名称、运行的操作系统名称为关键字,信息存储采用xml格式,并统一以web方式展现,在后续的产品持续集成中使用;步骤4:定义产品包含哪些应用,基于哪个平台;编写平台、产品构建模板,包括编译打包脚本、发布包使用的安装脚本;定义各平台、产品的部署测试模板、测试用例,定义产品构建模板;步骤5:使用统一发布工具,执行步骤4定义的平台构建模板自动执行软件集成,自动构建出特定版本号的各操作系统的平台安装发布包,并自动提交资源服务器统一管理,并自动采用邮件等方式通知相关人员;步骤6:执行步骤4定义的平台部署测试模板,对平台发布包进行单独的自动部署,进行自动测试;若测试发现缺陷,即为多产品共有缺陷,则修改平台代码、配置或第三方包,再返回步骤5进行迭代集成构建;步骤7:开始产品的集成构建,使用统一发布工具,选择集成所使用的平台发布包版本号,执行步骤4中定义的产品构建模板来自动进行软件集成;步骤8:进行产品软件自动部署测试,根据步骤4定义的产品部署测试模板,对各产品发布包进行单独的自动部署,自动测试,若发现缺陷,修改产品或平台的代码、配置,当修改的是产品的代码、配置,则修改后返回步骤7;当修改的是平台的代码、配置,则修改后返回步骤5进行迭代集成构建。步骤9:集成构建产品补丁,以SVN修改记录、新编译结果文件来共同确定补丁中包含哪些文件,并在制作过程中采用了创建基准文件的方式来自动挑选确定补丁包中的内容。2.根据权利要求1所述的基于“平台+应用”模式的持续集成方法,...

【专利技术属性】
技术研发人员:周淑雄黄磊徐延明刘刚
申请(专利权)人:北京四方继保自动化股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1