技术开发 频道

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

    图 3: BuildForge 允许用户在项目任务、项目运行结果添加注释

    这些特性结合在一起清晰诠释了在开发期间到底发生了什么。系统可以跟踪谁在哪台机器做了什么事情,结果是什么,消耗时间是多少等。这种跟踪能力不仅加强了各类人员对于流程及其运行的理解,还有效帮助企业遵守审计规则。

    加快执行速度的同时延长系统正常工作时间

    使用 Rational BuildForge,用户可以通过并行处理以及服务器池(server pooling)技术加快构建速度并延长系统正常工作时间。用户可以使用这些特性来:

    将多台机器组成一个服务器池,然后在该服务器池上运行多个项目。只要一台服务器被充分占用,系统可以自动将处理流程重定向到同池的其他服务器上。
    图 4: 将多台机器组成一个服务器池

    上图示出了在采用服务器池时 BuildForge 的具体做法,首先 BuildForge 使用服务器收集器(Collector)来定义收集服务器哪方面的信息,例如 CPU 负载、空闲的内存、操作系统以及操作系统版本、CPU 数量等,这些信息可能会用作服务器分池的条件。下图示出了在物料清单(BOM)报告中在项目运行过程中实际采集到的信息。

    图 5: 在物料清单(BOM)报告中在项目运行过程中实际采集到的信息

    然后 BuildForge 通过服务器选择器(Selector)提供了服务器池的组织方式,例如把所有 OS_SYSNAME 为 Windows XP 并且空闲内存大于 512 M 的机器组织成一个池,接着将指定某些 Windows 项目运行在这个服务器池上。这样就充分利用了服务器资源,而且大大增强了构建系统的健壮性。

    用一个流程即可在多台机器上启动多个并发执行的任务从而更快得到结果。如下图所示,同一项目中的两个步骤 5 和 6 可以并行执行,用户甚至可以指定步骤 5 在某台机器上运行,步骤 6 在另一台机器运行,也可以交由服务器池自动调度。
    图 6: 可在多台机器上启动多个并发执行的任务

    在不同机器上启动对同一应用程序不同操作系统版本的处理。例如某个应用程序的发布包括 Windows、Linux 以及 AIX 三个版本,我们可以同时在三台不同操作系统的机器上在它们各自的环境中进行同一应用的构建和发布。
    如果 Rational BuildForge 尝试在某台机器上运行而该服务器宕机或不可用时,处理流程会递交给同服务器池的另一台缺省指定的机器,使得流程不会被中断。
    同一任务在服务器池所包含的每台机器上运行一次。例如,如果用户想把一个代码更新部署到所有的 Linux 服务器上,这个更新可以立即以并行方式进行部署。

0
相关文章