IBM Rational Build Forge 是一种自适应的过程执行框架,可自动化、管理和跟踪软件开发中所涉及的每个组件之间的过程,换言之,它是自动化软件工厂的第一步。它支持主要的开发语言、 脚本、工具和平台,并可轻松地集成至包括 IBM SmartCloud Enterprise 在内的许多环境中。
实际上,将 Build Forge 的自动化的开发特性与 IBM Cloud 的广泛延伸和应用程序部署特性结合起来可帮助您创建一个功能强大而又高度自动化的软件流水线。
本文介绍了过程自动化的全过程,细述了 Build Forge 技术,给出了为何 Build Forge 和 IBM Cloud 的结合对开发人员极其重要的原因,并且谈论了如何集成这二者。本文还提供了一个详细的用例作为例子,并介绍了有关替代用例的一些想法。
过程自动化可以让企业对异构应用程序、人和系统过程进行精心编排以消除低效、优化成本、确保兼容性和提升生产力。Rational Build Forge 可自动化、协调、管理和跟踪产品开发流水线中的每个过程。它常被用来自动化软件构建和打包过程。
在本节中,我们旨在向您介绍基于人模型的过程并将其映射至 Build Forge 特性。过程自动化的这个模型包含如下角色:
正如之前提到的,Build Forge 是一个自适应的过程执行框架,可自动地管理软件开发流水线中的各个过程。现在,让我们来看看 Build Forge 的一些组件。
在使用 Build Forge 时,如下这些组件很关键:
IBM SmartCloud Enterprise 是构建在敏捷的云基础设施之上,这种基础设施旨在为客户提供对安全性丰富的企业级虚拟服务器环境进行快速访问,非常适用于开发和测试活动。由这个解决方案 带来的灵活配置特性可在成本预知的情况下按您所需访问 IT 资源。IT 人员无需再花费宝贵的周期来部署、配置和维护开发和测试环境。
IBM Cloud 提供了一种自助的测试平台,旨在简化使用。它组合了服务请求管理、自动配置和配置管理以便按需配置物理和虚拟化测试资源,其中包括诸如操作系统、中间件、存储、网络、图像和数据等 IBM 和非 IBM 组件。
集成 Build Forge 和 IBM Cloud 的益处
图 1 所示的是 Build Forge 模型:
之前章节中提到的基于人的模型按如下所示映射到 Build Forge 模型:
以上是一个非常简化的模型。
用 Build Forge 自动化 IBM Cloud 上的构建可改善构建结果、减少风险,以及节省时间。它还能省掉硬件需求和采购的项目计划,同时提高实验室资源的利用率。
通过快速组装或分拆配置,它还为企业提供了一种利用动态基础设施的方式;这种灵活性可很大程度地节省时间。
IBM Cloud 中的 Build Forge 有助于处理这样的一些情况,比如团队/组织需要即刻拥有超额容量来应对额外的工作负载,进而消除了为了短期使用而寻找额外未使用的可用硬件的需要。
将 Build Forge 与其他 Rational 产品集成可带来许多益处。这些 Rational 产品在软件开发生命周期中非常重要:IBM Rational Team Concert (RTC)、Rational Asset Manager (RAM)、Rational Quality Manager (RQM) 和 Rational Requirements Composer (RRC)。
对于 IBM Cloud 中的 Rational Team Concert、Rational Quality Manager 和 Rational Requirements Composer,可以将它们看作 IBM Rational Collaborative Lifecycle Management (CLM) 2011。
本节将介绍几个 IBM SmartCloud Enterprise 的用例。在开始讨论这些用例之前,有必要先来了解如何使用 Build Forge 控制台连接到一个代理。
当云中配备了两台机器(一台安装了 Build Forge,另一台安装了 Build Forge Agent),就可以同时使用这两台机器了:
<install-location>/rc/buildforge start
来启动 Build Forge Console。telnet <machine-ip> <port on which the agent is installed> For e.g., telnet 129.35.208.53 5555 200 HELLO - BuildForge Agent v7.1.1.3-0-0034 |
bfagentuser
是用来登录到运行代理的这台机器的用户名称。CLMMACHINE-Selector
定义为一个选择器,并将变量 BF_NAME
设置为下一步将要定义的这个服务器的名称-CLMMACHINE。 (CLM 是 Collaborative Lifecycle Management 的缩写。) CLMMACHINE
作为服务器名称。 在 Build Forge 云实例上自动配置一个 Build Forge Agent 云实例
成功获得 IBM Cloud 的 Build Forge 镜像之后,就可以从 IBM Cloud 网站为 Build Forge Agent 请求一个镜像了。
本小节的用例展示了如何使用 CLM (Collaborative Lifecycle Management) 镜像上的 Build Forge Agent 来从控制台驱动构建。本场景使用了如下的用户和角色:
这个用户场景的步骤总结如下:
现在,让我们来仔细分析一下这个用例。
NewIdeas 的团队刚刚赢得一个银行客户的订单。该团队的任务是设计出一个存储银行客户日常交易的金融解决方案。
NewIdeas 非常兴奋;他们已经决定采用 IBM SmartCloud Enterprise 提供的 CLM 解决方案并辅以 Build Forge Agent 提供的从 Build Forge Console 驱动客户机(在本例中为 CLM 服务器)上动作的能力。
Tanuj(项目主管)负责此项目。他与客户进行了谈话,并对此银行系统框架提出要求。他的团队需遵循敏捷的开发过程。他使用 Web 客户机登录到 Requirements Management 并创建了要满足客户机测试版的迭代开发过程 1 的一个需求,如图 7 所示。
他接着会登录到 Rational Team Concert 并创建了一个任务交给 Bob(开发人员)来处理,如图 8 所示。
与此同时,Tanuj 会登录到 Rational Quality Manager 并创建一个测试迭代开发过程 1 中特性的测试计划。此计划归 Tanuj 所有,如图 9 所示。
Bob 然后登录到 Rational Team Concert 并开始处理分配给他的任务。他会对这个任务进行评估并随后实现/完成它。之后,再将任务交给 Tanuj 审查并签入代码。
代码签入后,Ursula(管理员)拥有一个夜间构建,每次项目区发生变化就会触发该构建。该构建启动,并且会有一个构建可用于质量检测。
如图 10 所示,Bob 签入后,Build Forge 作业就开始运行于 CLM 服务器上。Build Forge 项目中的所有步骤都完成后,就可以对该构建进行测试了。
需要指出的重要一点是 Ursula 在 CLM 服务器上配置了 Build Forge Agent。Build Forge Console 会配置好一个服务器来利用代理在 CLM 实例上运行构建。因此,通过使用 Build Forge Agent 和 Build Forge 的自动功能,Ursula 就能生成一个构建。
Bob 接手这个构建并开始从事于附加到 Tanuj 创建的计划中的 Rational Quality Manager 测试用例。如果存在任何 bug,就会记录到 Rational Team Concert 中。之后,他会着手处理这些漏洞,对其进行检查,然后完成交付。修复的构建可用后,Bob 就可以利用它来进行功能的交叉检查。当构建通过所有的条件后,每个 Rational Quality Manager 测试用例都会被标记为完成;Rational Team Concert Story 和对应需求也是如此。
除了构建自动化之外,Build Forge 和 Build Forge Agent 还可用于其他的自动化任务,其中包括:
对于测试自动化,通常只要生成一个构建,就可能会有一些测试用来测试此构建的健康性。这些测试就是所谓的 Build Verification Test 或 BVT。这些 BVT 在很多组织中通常都是通过手工完成的;但是,BVT 测试可很容易地自动完成。
要自动化 BVT,构建需要存储在已经安装了 Build Forge Agent 的一台机器上。生成构建的 Build Forge Console 就可用来连接到具有这个构建的代理机;而这些 BVT 也就可以运行来检查构建的健康性了。
除了 BVT,很多团队还会使用 Build Forge/Build Forge Agent 技术运行它们的 Functional Verification Test (FVT)。
对于修复包的应用,很多企业都在多个机器、多个平台上安装了像 WebSphere® Application Server 这样的服务器,这意味着这些服务器的修复包可能会每两三个月发布一次。 如果企业具有数百个这样的服务器,手动运行所有这些机器上的升级是一件烦人的差事。
在这些情况下,可将 Build Forge Agent 安装到这些机器上,修复包应用程序的整个过程都可使用 Build Forge 项目自动完成。这节省了用户时间以及单调的手工操作。
本文展示了 IBM Rational Build Forge Agent 在后台的工作方式,以便帮助客户在 IBM Cloud 上和普通云环境中实现构建、测试和修复包应用程序 (pack-application) 的自动化。能够对应用程序开发和部署的构建、测试和维护阶段进行自动化是一种 明智的省时又省力的工具,应该成为您云环境工具箱中的一部分。