欢迎来到天天文库
浏览记录
ID:20265601
大小:330.50 KB
页数:5页
时间:2018-10-11
《一种软件持续集成平台的技术方案new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一种软件持续集成平台的技术方案陈挺,阮波,林加旗浙江中控技术股份有限公司,浙江杭州,310053摘要:本文介绍了浙江中控技术股份有限公司在敏捷软件开发过程中使用的一种软件持续集成平台的技术方案。该方案利用开源软件Hudson和SVN构建平台,在改进软件质量和降低风险,缩短缺陷引入、发现和修复之间的时间间隔方面取得了显著效果。关键词:持续集成,软件项目,浙江中控,敏捷ATechnicalProposalforContinuousIntegrationPlatformChenTing,RuanBo,LinJiaqiZhejiangSUPCONCo.,Ltd.,Ha
2、ngzhou,Zhejiang,310053Abstract:ThepaperintroducesatechnicalproposalforcontinuousintegrationplatformusedintheagilesoftwaredevelopmentofZhejiangSupconTechnologyCo.,Ltd.Thisproposal,whichcreatstheplatformwithHudsonandSVNsoftware,improvessoftwarequality,reducesdevelopmentrisk,andshortens
3、thetimeintervalforbugintroducing,findingandrepair.Keywords:ContinuousIntegration,SoftwareProject,SUPCON,Agile.1.引言持续集成(ContinuousIntegration,简称CI)是敏捷软件开发中的一种非常重要的实践。持续集成对软件质量改进和风险降低有着非常重要的作用,因此,它也是所有敏捷实践中推行最为成功和广泛的一种。持续集成的核心价值是缩短缺陷的引入、发现和修复之间的时间间隔。本文介绍一种搭建持续集成平台的技术方案,并以在浙江中控技术股份有限公司的
4、软件研发活动实际运行的情况为例介绍其效果。2.持续集成概述所谓“集成”,是软件行业的一个专门术语,是指把一些能够单独工作的模块组装在一起构成一个系统的过程。这个过程往往是软件项目中非常棘手的工作,集成后的系统往往不可用,并且很难找到失败的原因。为有效解决这个问题,很多学者提出应该更早且更频繁地进行集成,于是一种叫做持续集成的技术应运而生。持续集成的关键是快速和不断重复。一个持续集成平台应具备如下四种基本特征:①与版本控制系统的连接;②构建脚本;③某种类型的反馈机制;④集成源代码变更的过程。持续集成是一个不断循环的过程,一个循环的内部流程描述如下:首先是开发人员编
5、写代码,经过适当的审查后,向版本控制库提交代码变更;持续集成服务器周期性地对版本控制库进行轮询,一旦发现有新的变更提交,就从版本控制库获取更新,进行代码审查和产品集成构建,并把构建好的内容进行发布、部署以及自动化测试;代码审查和测试的结果通过某种形式向开发人员反馈,开发人员可以查看自己之前的工作成果是否存在问题,以便快速解决。下图显示了持续集成系统的基本构成。图1持续集成系统的基本构成作者在浙江中控技术股份有限公司从事软件研发工作期间,与团队一起经过反复地论证和设计,并通过多个项目的实践,最终完成了适合中控软件研发实际的持续集成平台的技术方案,并取得了不错的效果
6、。后续章节将根据持续集成系统的基本结构展开对这个方案的论述。1.技术路线选择持续集成平台的方案,我们选择开源的Hudson作为基础平台软件。Hudson是一个可扩展的持续集成引擎,能够持续、自动地构建和测试软件项目,并监控一些定时执行的任务;具有易用性高、易配置、WEB化、支持多种插件、分布式管理等特点。版本控制库是持续集成平台中的重要一环,我们采用SVN软件作为版本控制库的平台软件。SVN提供命令行管理接口以及Web管理接口Submin,可以非常方便地与Hudson进行对接。通过Hudson的轮询机制调用SVN的管理接口,可以实现对代码变更提交的周期性监控。H
7、udson平台支持Ant脚本语言,Ant脚本可以用于实现灵活的构建过程。1.构建过程设计持续集成的一个完整过程,称为一次构建,在实践中用Ant脚本语言实现。一个完整的构建过程,是一个非常复杂的过程。在我们的实践中,对于一个大型复杂软件而言,如果要执行完一个完整的构建过程,需要大约4小时左右的时间。4小时的周期,对于日常的开发而言太长,对问题的反馈效率明显不足,因此,我们需要根据实际的情况对构建的过程进行分类。构建类型分为三种,分别为:私有构建、集成构建和发布构建。其中集成构建又分为提交构建和次级构建。提交构建是最快速的构建,只应包含编译和单元测试,日常开发过程中
8、,主要依靠“提交构建”来
此文档下载收益归作者所有