【IT168 专稿】
本文是Rational软件技术征文大赛(http://tech.it168.com/focus/200903/rationalgame/index.html)三等奖获奖作品。
1.前言
现在,软件开发已经不再像过去那样单纯的追求个人的效率,整个团队的开发效率受到了越来越多的关注。默契的团队协作和协调的开发步调是提高软件生产效率的关键。IBM Rational 推出的 Jazz 技术就是一个创新的团队协作平台,它集成了整个软件生命周期中的各项任务,并将成为下一代软件开发平台的基本框架。而Rational Team Concert (RTC) 则是第一个基于 Jazz 平台的产品,提供了包括代码控制、项目计划、项目build、工作任务、工作报告等的支持,让开发团队、测试团队、build团队都使用同一个平台来进行管理,能大大提高整个项目的有效管理,并且非常适合于采用敏捷开发模式团队。
我们将从Build团队的角度出发,以实际工作中的项目为背景,用实例介绍在敏捷软件开发中,Build团队怎样在RTC上Build一个完整的项目。
Build团队是连接开发团队和测试团队的纽带,开发人员编写的代码必须经过build人员的编译和发布才能给测试人员使用。特别是现在敏捷开发, Daily Build的开发模式得到了越来越广泛应用,build团队也相应的发挥着越来越重要的作用。
通常来说,Build团队主要负责build的计划,建立build环境,控制每个人在build树中的访问权限,编写Build脚本,执行和发布build报告,以及帮助使build中断的人修复build中的缺陷等任务。
那这些任务又是如何在RTC中体现及其使用的呢?
2.Jazz中的Build结构
2.1 结构介绍
Jazz技术平台的Jazz team build组件为软件开发团队的日常build工作提供了自动化、数据监控,以及状态感知等领域的全面支持。Jazz team build 提供了一个展现软件开发团队build全过程的模型,这个模型对于软件开发团队日常使用的多种build技术提供了支持。
Jazz包含了Jazz Build Engine和一个Ant Build工具,并使用其来向Jazz服务端发布日常的build信息。现在这个build工具与Ant脚本的兼容程度很高,开发人员可以非常方便地通过图形化的界面来进行控制。当然如果你愿意,你也可以使用任何一种能够调用Ant代码的脚本技术来完成这一工作,并且集成到Jazz team build之中。举个例子来说,一个软件开发团队可以使用Perl、DOS批处理文件,或者Make工具来与Jazz team build进行交互,以驱动和调用Ant代码。
你也可以使用任何Build Engine来运行Jazz build过程,但是使用Jazz Build Engine将大大简化你的build过程建立的复杂性。如果你计划使用一个不同的build引擎,首先用Jazz Build引擎建立一个简单的build过程,这样你可以熟悉Jazz build的基本概念,当你的简单build工作起来以后,你可以选择性的使用其他的build引擎,例如Build Forge build引擎。这体现了Jazz team build的灵活性。
典型地,一个软件开发团队将拥有一个专属的build系统来执行build工作。Jazz Team Server就非常适合担任开发人员和build系统之间沟通和联系的角色。以下的一些与build相关的条目都存贮于Jazz中央仓储之中并对build过程提供支持。
- Build definition :定义一个build过程,比如每周一次的项目集成build过程,以及build的各种参数;
- Build engine :运行在build服务器上的build系统,负责接受build请求,发布build消息等;
- Build request :向build系统发送的执行build过程的请求;
- Build result :build过程输出的执行结果。
所有build相关的项目都隶属于同一个project area。build相关的操作也是由项目处理过程来进行管理。对应地,你也可以使用Jazz客户端来执行以下的任务:
- 提交一个请求来执行一个build definition;
- 检查build过程的执行情况;
- 查看已经完成的build过程的输出结果,比如日志,下载文件和build过程中生成的文件。