技术开发 频道

IBM Rational BuildForge 概述

【IT168 技术文章】

    在本文的 第一部分 我们介绍了 IBM Rational BuildForge 进行构建管理过程改进的原理和方法。本文的第二部分我们将介绍 IBM Rational BuildForge 的产品特性。
    IBM Rational BuildForge 概述
    IBM Rational BuildForge 是专门用于构建和发布流程管理的软件。BuildForge 始于 2001 年,在 6 年时间内帮助多家用户在构建/发布的可靠性、可重用性以及可跟踪性等多个方面进行了明显改进。BuildForge 于 2006 年 1 月完成了与 Rational 配置管理产品线(ClearCase 以及 ClearQuest)的集成,在 2006 年 5 月被 IBM 收购并加入到 IBM Rational 产品家族中。经多家客户的使用证明,利用 BuildForge 建立起的构建管理平台可以明显改进构建流程的管理和控制效率。

    BuildForge 通过提供一个可扩展的构建和发布框架,可以帮助用户减少软件交付成本,提高软件构建的可见性和可跟踪性,同时可以更好地进行 IT 治理和遵规,以更快的速度进行问题解决,明显提高软件质量。BuildForge 的功能结构可以结合下图进行说明。

    图 1: BuildForge 的功能结构

    BuildForge 提供了一个框架来自动化“整个”端到端流程。不仅仅自动化单独的任务,而且自动化流程中不同步骤的信息传递和沟通。BuildForge 可以集成用户现有的脚本和工具,因此没有必要替代现有的资产。BuildForge 所提供的全面的应用开发流程管理方案可以提供应用开发周期完整的管理和控制。通过集成多种工具,BuildForge 可以将复杂的流程标准化、自动化并进而进行优化,从而提供一个可重复的、可靠的应用开发生命周期流程。

    自动化只是 BuildForge 所做的第一步,BuildForge 还提供了诸如构建加速、自动化通知、调度、日志自动分析等多种功能。通过安全的、基于 Web 的访问机制可以管理各类任务,对各种类型团队、甚至异地开发团队进行支持。

    IBM Rational BuildForge 的工作原理
    在Rational BuildForge 的核心是一个使构建和发布流程更为有效的自动化流程管理方案。Rational BuildForge 作为一个集中流程库可以在不同计算机上进行构建的运行、跟踪、调度和任务指派。本节主要描述一下Rational BuildForge 产品可以提供的自动化范围,详细解释一下 BuildForge 的工作原理,看 BuildForge 是如何使不同工具、多台机器工作在一起的。

    流程的定义和运行

    在 Rational BuildForge 中,用户可以将一个流程定义为一系列的任务,在 BuildForge 中称流程为“项目”。如下面的产品截图所示,这里列出了三个项目,其中项目“Web 应用程序构建演示”的属性如右下页面所示,包括项目名称,项目的访问权限(只有 Build Engineer 组的人可以访问),允许的最大并行线程数(Max Thread),项目相关的环境定义(Environment,包含了大量的环境变量定义),项目所运行的服务器选择器(Selector,根据条件如操作系统类型、内存利用率、CPU 空闲率等可以动态进行构建服务器选择),开始运行构建的通知方(Start Notify),构建成功的通知方(Pass Notify),失败的通知方(Fail Notify),项目成功后启动另一个项目(Pass Chain,因此 BuildForge 可以支持基于多项目的构建工作流),项目失败后启动另一个项目(Fail Chain)等功能。

    图 2: 在 BuildForge 中用户可以将一个流程定义为一系列的任务

    在项目属性的构建标识(Tags)页面中用户可以灵活定义构建编号规范,如下图所示。

    图 3: 在 BuildForge 中用户可以灵活定义构建编号规范

    上图中示出了项目“Web 应用程序构建演示”所使用的构建编号规范,该编号由四部分组成,中间用“.”分隔,这四个部分分别由四个变量表示,代表了主版本号、小版本号、补丁号以及构建序号。而且在 BuildForge 中除了可以自定义变量外,还可以分别定义这些变量的编码行为,例如 BUILD 从 38 开始,每次执行时该变量自动加 1。

    下图示出了具体的构成一个项目的所有任务,从截图中可以看出该项目包含了 17 个任务,这些任务按编号顺序执行,其中任务5(清理构建工作区)和任务 6(从ClearCase中检出index.html)可以并行同时运行,当两个任务均结束后开始任务7。

    图 4: 具体的构成一个项目的所有任务

    每个任务又包含了一组可以发到远程构建服务器上运行的命令以及配合使用的环境变量。

0
相关文章