技术开发 频道

IBM RBF集成构建解决方案及案例研究

    同第三方应用的集成

    前面第 6 章产品清单中已经提到 IBM Rational BuildForge Adaptor Toolkit 允许用户将第三方软件,如源码管理工具、缺陷跟踪管理工具以及测试自动化工具与 BuildForge 集成起来,从而建立软件配置管理系统和构建环境之间无缝的链接,提高效率并且可以跟踪源代码、缺陷以及测试的变化。用于第三方的适配器包括 CVS,Perforce SCM,Borland StarTeam,Microsoft Visual SourceSafe,Subversion 以及 Bugzilla。用户也可以为满足特定要求修改这些适配器,或者创建与自己开发的工具或者与其他第三方工具集成的适配器。

    Rational BuildForge Adaptor Toolkit 提供了许多集成选项来自动化并优化开发流程,包括:

    监控源代码变化。IBM Rational BuildForge 适配器提供了持续监控第三方源码库的能力,并且当源码库发生变化时自动执行构建。系统直接监控源码变化并收集度量信息,为每次构建提供详细的源码库状态跟踪。使用 Rational BuildForge 管理控制台,可以看到每次构建中从版本检入注释到实际的文件内容都是哪里发生了变化。
    自动化缺陷跟踪和测试。Rational BuildForge 缺陷跟踪适配器可以帮助团队跟踪缺陷并在物料清单中报告指定缺陷的状态,例如“已校验”或“已关闭”。自动报告的缺陷可以帮助用户了解某次特定构建中都修复了哪些缺陷。
    自动化测试用例运行并通过提供的测试适配器将测试结果记入物料清单。
    适配器技术将源代码变化、缺陷以及测试与特定的构建关联起来,这样加强了对构建组成部分的详细了解。IBM Rational BuildForge 可以捕获关键的构建统计信息,包括所施加的变更、构建时间和日期等并为了便于访问将这些信息集中存储在一个位置。

    支持审计和遵规管理

    如本文前面所讨论的,遵规是大多数开发团队正在考虑的一个重要问题。即使开发团队不对公司的财务系统负责,但开发团队所交付的产品或服务对于公司的收入而言很可能是至关重要的,同时开发团队应该准备应对审计方面的要求。

    作为萨班斯法案的结果,许多公司已经意识到标准化、可重复和文档化的开发流程也是一个关键的业务非常好的实践。关键是尽量减少收集相关审计数据的代价,从而减少开发团队的负担。IBM Rational BuildForge 可以捕获关键数据并提供从编码到生产全生命周期的可跟踪性,因此可以用作对应遵规和审计的证据。当使用 Rational BuildForge 来运行构建和发布流程时,系统自始至终自动跟踪用户的流程。将越多的流程放入 Rational BuildForge 系统,对于开发环境的了解也就越清晰。

    系统保留了用户所有流程的版本信息,对于每个产品迭代,用户可以看到改变了什么,谁进行的修改以及为什么要进行这样的修改。并且系统为每个完成的流程运行提供了物料清单(BOM)。

    对流程进行自动跟踪

    即使是最简单的脚本只要在 Rational BuildForge 中运行,因为系统保存了每次项目运行的数据,它也可以作为一个有价值的遵规工具。例如一个普通的批处理文件或外壳脚本,它的作用是将文件从一个位置复制到 Web 服务器上,当在 Rational BuildForge 中运行它时它很快就远远不是一个普通脚本了。再看看下面这些例子:

    系统可以通过电子邮件和基于 Web 的信息板进行项目运行成功或失败的报告。
    尝试运行的命令和结果输出或者错误信息都保存在日志中。
    系统可以调度脚本反复运行多次,保证标准流程每次都以同一方式得以执行。
    系统可以发现可用的服务器资源来运行脚本,而不是依赖某一台特定机器。
    系统会对脚本的执行人进行日志记录。
    其他用户动作,如对脚本的修改也会被记录下来。另外, Rational BuildForge 注释(notes)可以帮助记录每个变化发生的原因。

    当用户与现有工具进行集成时,Rational BuildForge 可以将多个孤立的信息源转换成随时可用的用于遵规的数据。

    流程的版本化

    当将一个流程加入 Rational BuildForge 后,就可以获取关于流程(项目)的许多信息了:项目中所包含的步骤、项目所需的环境变量、项目应该运行在哪台或哪些服务器上。不管在任何时候,只要用户对流程进行修改项目记录就可以得到更新;系统保留了当前版本的流程作为该流程的缺省指令集。每次在运行项目时系统都保存了运行信息的副本,即使项目定义已经发生了变化,用户仍然可以审查项目运行记录以便了解当时项目执行的确切步骤。进而系统可以重建先前的运行,按照当时的指令重新运行项目,而不用考虑已经发生的变化。这样任何加入 Rational BuildForge 的流程立即就可以变成可重复和可追踪的流程。如果流程的变化导致质量问题,用户可以返回到最近一次质量达标的状态。尽管 BuildForge 系统在自己的数据库中自动保存了流程记录,但用户可以将流程指令归档到自己的源码控制系统中。这样就可以将流程指令与用于创建产品的源码放在一起进行保存和管理。用户也可以将流程归档这一操作本身用 Rational BuildForge 加以自动化。

    通过物料清单(BOM)建立自文档系统

    IBM Rational BuildForge 包括一个可配置的物料清单,每次运行一个流程时 BuildForge 系统会自动生成一个物料清单用来提供详细的有关流程运行的信息,可以用物料清单来对流程的运行结果进行检查。同一产品(项目)由于使用人员角色不同流程往往执行方式也有不同,因此可以用物料清单作为记录流程的一种文档。

    系统可以在物料清单中自动包含每次构建中一些感兴趣的信息。

    通过使用 BuildForge 所提供的内置命令,用户可以在流程中加入一些任务来将一些额外的信息写入物料清单。例如,用户可以将在流程工作目录下的所有文件信息保存起来,然后检查这些文件在不同的检查点是如何变化的。下图是在 BuildForge 的示例流程的第 4 步中嵌入了 BuildForge 内部点命令 .scan baseline,其目的是记录编译前的所有文件状态,然后在第 5 步编译步骤之后,在第 6 步设立一个检查点(利用另一个 BuildForge 点命令 .scan checkpoint),检查文件的变化,例如新增了哪些文件、目录等。
    图 16: BuildForge 的示例流程

    物料清单就象一张从流程中的一个团队传到另一团队的工作说明书,没有物料清单构建就是一个神秘的黑箱,不知道里面装的是什么,也不知道结果是什么;而拥有了物料清单团队可以快速评估一次新的构建对他们意味着什么。
    物料清单就象一张从流程中的一个团队传到另一团队的工作说明书,没有物料清单构建就是一个神秘的黑箱,不知道里面装的是什么,也不知道结果是什么;而拥有了物料清单团队可以快速评估一次新的构建对他们意味着什么。
    总之,物料清单将流程以及流程端到端的运行结果都封装到一个直接可用的包中,适于审计或遵规校验。

    IBM Rational BuildForge 案例研究
    IBM Rational BuildForge 在短短 6 年左右时间内在全球获得了广泛应用,包括独立软件供应商、硬件厂商、电信、金融、软件游戏厂商等多类业界领先的用户。下面主要结合 IBM Rational 和某个世界领先的独立软件供应商为例分析他们是如何利用 BuildForge 解决各自面临的问题的。

    IBM Rational 自身使用 BuildForge 的概况
    自 2006 年 IBM 收购 BuildForge 并归入 Rational 软件部门后,Rational 迅速将 BuildForge 用于自身的研发管理流程中。在使用 BuildForge 之前 Rational ClearCase、ClearQuest 等产品线的 350 多名开发人员分布在全球几个实验室中,而开发的多个产品又涉及多种操作系统平台,发布工程组一直在寻找一个更为健壮的多平台支持、流程自动化并且可扩展的构建和发布环境来更好地利用人力资源和硬件资源,保质保进度地完成产品发布。在实施了 BuildForge 后 Rational 三个产品线已经建立起了一整套可扩展的构建和发布管理基础设施,明显改进了开发团队生产率、资源利用率和产品质量。而且在充分利用了现有开发工具和构建脚本的同时,团队增加了对他们对端到端的开发流程的了解程度,进而能不断提高其可靠性。

    “IBM Rational 软件一致致力于提高自身软件开发实践从而改进我们自己的产品质量和开发效率,这就要求我们的端到端开发生命周期必须是可预计、可扩展的并且完全可以进行跟踪。BuildForge 的构建和发布管理平台是 IBM Rational ClearCase 开发团队生产业界领先的 Rational ClearCase 产品所使用系统的核心部分。BuildForge 的自动化和控制能力帮助我们以更准确的预判性来交付更高质量的产品。” —— Lee R. Nackman,副总裁,产品开发及客户支持,IBM Rational 软件

0
相关文章