• 快捷搜索
  • 全站搜索

兴业银行建立持续集成平台实践

2013-05-09 13:38:11作者:兴业银行信息科技部 曹杰 詹赵林编辑:
面对瞬息万变的市场及功能需求,银行科技部门通过几年来将敏捷开发运用于紧急、复杂或新颖项目开发的实践,结合实际应用案例与同业分享经验与成果。

随着敏捷开发在国内的不断升温,国内对持续集成的重视度不断提高。目前国际上众多软件开发项目都采用了持续集成,并取得了显著成效。微软的过程模型最著名的就是采用了每日构建的集成模式,微软Visual C++事业部总监Jim McCarthv认为:在微软的软件开发过程中如果有什么成功秘诀,那就是采用了每日构建的集成方式。

        2011年10月兴业银行启动持续集成平台的建设,并于2012年6月正式投入使用。截至目前有近10个业务系统和科技部内部系统使用了持续集成平台。持续集成平台在加强对项目的质量管控、减少项目风险、提高系统代码质量、提升开发效率和增强项目的可视性、团队的自信心方面发挥了重要作用。

一、系统功能规划

        持续集成平台规划了“每日构建”和“版本发布与管理”两部分功能。

        每日构建实现了敏捷开发理念中持续集成的相关功能,主要包含基础构建、代码质量和自动化测试检查三大功能。基础构建实现了对代码的编译、打包和远程部署;代码质量检查模块用于对系统代码进行自动化的代码质量检查,检查的内容包括编码规范、是否存在常见JEE编码问题、使用兴业银行应用开发平台时是否存在常见的编码问题;自动化测试提供对单元测试和集成测试的支持,单元测试支持调用单元测试代码并生成单元测试结果报告和单元测试覆盖率报告,集成测试规划在持续集成平台二期中实现。

        版本发布主要指各种测试环境版本的打包与发布、生产环境的代码打包。版本发布分为单任务执行模式和工作流模式。单任务模式支持在界面上一键完成常见的部署任务(如打Tag、构建适用于某个环境的部署包、构建并发布到某个环境)。工作流模式将项目组在版本发布过程中的线下流程固化在系统中,持续集成平台固化了几种被广泛认可的版本发布流程,同时也支持项目组定制适用于项目组自身的版本发布流程。

        在版本管理方面,该平台可记录每次版本构建的时间、版本号、对应tag号、版本Release Notes信息以及该版本的测试情况,支持生成任意2个版本间代码的变更报告。

二、系统架构和主要功能设计

        1.系统架构
        持续集成构建平台采用了成熟的B/S架构,基于工作流引擎和成熟的开源持续集成框架CruiseControl,依托兴业银行J2EE应用开发平台(CAP4J)开发而成,逻辑架构如图1所示。

建立持续集成平台  加强项目质量管控图1.jpg

        2.主要功能设计
        (1)每日构建
        每日构建以成熟的开源持续集成框架CruiseControl为基础,对CruiseControl做了大量客户化工作。一方面根据兴业银行自身需要定制了构建任务,另一方面,对CruiseControl提供的Web应用进行了二次开发,提供构建过程中代码质量检查和自动化测试的相关报告,提升了原有报告的友好性和易用性,整体设计如图2所示。

建立持续集成平台  加强项目质量管控图2.jpg

 1 2 下一页 尾页

扫码即可手机
阅读转发此文

本文评论

相关文章