技术开发 频道

高质量Java开发:持续集成

【IT168 技术】  持续集成(Continuous Integration)是利用一系列的工具,方法和规则,做到快速的构建开发代码,自动的测试化,来提高开发代码的效率和质量。利用自动构建工具,随时都能把提交的代码构建出来,提供一个可以测试使用的版本,让用户和开发人员同时看到相同的功能,尽早的发现问题和错误,也可以尽快的得到测试人员和用户的反馈。

  要做到持续集成,就要利用一系列工具,把开发过程中的重复工作自动化。搭建自动的构建服务器,自动的进行单元测试和发布新版本,一个集成的服务器可以提供构建过程的结果报告,自动通知开发人员构建结果,并且保存历史数据。IBM Rational Team Concert (RTC) 可以提供工作任务的管理,项目计划的安排,代码版本管理控制,自动构建可用版本,生成构建结果报告。这些过程构成了项目的持续集成过程,其中,版本的自动构建和代码的自动单元测试是持续集成的关键过程,RTC 在这些过程上提供了有力的支持。

  自动构建

  RTC 提供了 build engine 来负责构建 build,首选,启动 build engine,并和 RTC 服务器建立了连接。再创建项目的 build 定义。在这个定义中,需要设定编译哪些模块的代码,需要跳动哪个 ANT 文件来启动编译,和一些编译过程中的参数的设定。当这些都准备好了,编译对于项目而言,就变成一个简单的事情。

  可以看到,通过在 build 定义上,点击请求构建,就可以触发一次构建过程。选择需要的构建参数,这个过程就会在后台运行。每一个开发人员,做了稍许的代码改变和提交,都可以触发新的构建过程,来保证我们代码的有效性。申请一个新的构建的过程如图 13、图 14 所示。 

敏捷开发:持续集成

图 13. 申请一个新的构建

 

敏捷开发:持续集成

图 14. 构建申请界面

  当构建结束后。RTC 服务器会提供构建结果报告。开发人员可以查询到这次构建的详细信息。 

敏捷开发:持续集成

图 15. 构建结果

  整个开发过程中,构建版本的过程应该是无数次的,通过每次构建,都可以得到当时代码的编译情况,并且可以得到一个可运行的软件版本。在构建定义上,RTC 支持设置构建计划。定时自动的触发一次构建。 

敏捷开发:持续集成

图 16. 构建定义

  自动单元测试

  构建可以自动了,重点提高代码质量的单元测试呢?如果每一天的代码,每一个版本的代码,都已经通过了我们的单元测试,这样我们就能对代码的质量有了基本的保证。在构建脚本的自动调用过程中,通过 ANT 的脚本,可以加上 JUnit,EMMA,FindBugs 的 ANT 脚本调用,每一次的构建,都可以把这些检查工作自动的进行一遍测试。这些测试都要生成测试结果报告, RTC 不能提供这些报告的展示,就可以利用 Hudson 这个开源工具,集成测试报告来方便查阅。 

敏捷开发:持续集成

图 17. 自动测试报告
 

0
相关文章