技术开发 频道

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

    下面展开介绍一下 Rational 自身使用 BuildForge 后的经验和好处。

    通过脚本开发自己搞构建自动化只能走这么远

    在实施 BuildForge 之前发布工程团队通过脚本开发自动化了他们许多构建和发布流程,但是他们发现系统并不能扩展用来满足不断增加的新需求和复杂性。由于每个任务都是独立运行的,因此整个流程执行时不得不时时等待其他任务的完成来进行不同任务之间的协同。如果一些任务比预期时间晚完成,可能会导致整个项目失败。例如当夜间构建失败后通常会花一整天进行诊断和测试。同时他们发现内部开发的系统并不能充分利用超过 100 多台不同操作系统的机器。项目与具体的机器捆绑在一起,结果往往造成一些机器非常繁忙而其他的机器却闲着。进而为每个流程而专门书写的脚本使得团队成员很难共享工作,一个人不在别人很难接替他的工作。

    痛定思痛——建立基于 BuildForge 的统一构建和发布管理系统

    在对 BuildForge 进行评估后,项目组立即意识到可以用简单而更聪明的方式利用他们的资源。BuildForge 帮助发布工程团队通过一致的管理控制台集中管理原来分散的流程。BuildForge 无缝地与团队现有的脚本和工具(IBM Rational ClearCase、 IBM Rational ClearQuest、IBM Rational Robot 以及其他)集成在一起,因此可以快速基于现有做法进行自动化运行。现在他们可以建立流程之间的智能链接从而导演整个“编码-构建-测试-发布”周期。IBM Rational 软件开发经理 Dave Barr 说:“使用我们以前的系统,如果整个流程的某个环节出了问题,我们不得不停下来花很多时间(通常一天)来进行检查并重新开始。现在我们可以很快发现哪里出了问题并快速补救以免浪费更多时间。更重要地整个流程更加可靠和健壮,需要恢复的次数也减少了。”

    事半功倍

    通过 BuildForge, IBM Rational 软件团队变被动响应为积极主动,主管人员可以从他们的 BuildForge 控制板中即可有效监控项目的运行,并且可以快速指出错误发生的位置并在发生错误时及时解决错误。BuildForge“隐藏”了他们构建的所有复杂性,团队成员只要按一个按钮就可以执行相关的任务,这样团队成员不经过特定流程或项目的培训也可以更容易地与他人分担工作负载。现在他们差不多一个星期可以省出一天来放在其他任务关键性的工作上,同一批人还能给其所支持的其他团队以更多的服务。Barr 说:“BuildForge 使得我们可以轻松同时管理多个项目,我的团队从一个地方就可以得到他们需要的所有信息。另外,由于构建变得更加可靠,出现紧急问题的时候也少了”。

    更加高效的构建和发布

    BuildForge 帮助发布工程团队优化了硬件资源的使用,得到了更好的性能和更快的发布周期。现在他们众多的服务器已经组织成多个服务器池并有效地分布在不同的开发地点。通过使用线程选项,没有依赖关系的任务可以跨不同服务器、不同操作系统同时运行,这大大减少了一些 IBM Rational 软件产品的构建时间,从 1 天下降为小于 3 个小时。

    通过更频繁的测试周期获得更好的质量

    现在他们可以更快和更可靠地进行构建,团队可以用更多的周期来进行软件测试,QA 团队可以立即对 BuildForge 系统进行访问以获取最新构建包含了哪些内容,到底需要测试什么等。通过提高可靠性,IBM Rational 有了更多的测试时间来保证产品质量。

    未来——支持开发人员得到更多好处

    基于他们现有 BuildForge 的初步实施成功,发布工程团队计划将系统进而开放给开发团队。利用内置的基于角色的安全性,开发人员可以从他们自己的集成开发环境在授权范围内直接访问已经批准生效的生产流程。这样开发人员就能够在 IBM Rational ClearCase 版本库中检入变更内容之前或之后都可以对他们自己的工作进行校验,在影响夜间构建前提前发现和解决错误。开发人员由此可以对他们的代码更有信心,整个团队期望能得到进一步的生产率及质量的提高。

    某独立软件供应商
    业务挑战——不可预期的构建和发布,相互脱节的开发工具

    作为一家全球领先的桌面出版软件供应商,拥有 50 个产品线、150 个产品开发组、2000 多名分布在全球的开发人员。但长期以来分离的构建和发布流程使得开发团队各自为政,形成了多个相互重复、自行开发的构建系统。150 个产品开发组的 150 个配置经理每人都使用他们自己的手工的、没有很好文档化的构建流程,结果构建过程时间长而且经常失败,发布也很难再现,开发成本相当惊人。另外,每个开发工具都有自己的信息,由于这些信息不能共享,因此无法得到关于发布内容的可见性。总是不断重头做同一件事但却缺乏端到端的构建和发布流程集成造成该软件供应商产品质量不高、不能按期发布以及发布成本高。因此他们感到他们需要一个可靠、集中管理的系统来减少成本,使得 50 个产品开发团队都统一到这个构建管理平台上来。

    业务解决方案——可预期性和集成性

    公司成立了一个专门的工程服务小组(ESG)来为构建和发布流程创建相关标准,他们想将所有的开发系统(源码控制、测试、缺陷修复、本地化、CD制造等)全部连接在一起,形成那个一个紧密集成的面向服务的架构。在对比了多种解决方案,包括他们自己开发的解决方案后,由于 BuildForge 的灵活性、可扩展性和快速见效的特点,该公司最终选择了BuildForg。

    在采用了 BuildForge 解决方案后,通过一个跨不同团队、产品和平台的集中管理的系统,用户可以对构建和发布的非常好的实践进行管理和自动化。BuildForge 可以相当容易地插入到现有的开发环境中,将分离的工具连接到一起从而创建贯穿整个应用开发生命周期的、透明的流程。通过实现自动化的、一致的流程,发布周期以及产品质量均得到了改进。

    另外,BuildForge 确实帮助用户加速了他们的发布过程。用户想更多采用敏捷方法来改进质量,但他们知道他们以前的系统是不能支持这种想法的。在采用 BuildForge 之前 1 个月只能完成 18 次构建,在采用了 BuildForge 之后可以进行 360 次构建,提高了 20 倍。这使得他们的配置管理团队更有效率,更少的投入可以得到更多的回报。

    业务结果——开发流程完全连接在了一起

    由于开发流程被完全集成在一起,因此开发流程运作得更加平滑。
    配置管理团队不用添加额外的资源就可以满足每个项目的需要。
    开发、配置管理、QA 以及管理团队都可以访问集中管理的系统,了解每个发布的状态。
    开发周期从每月 18 次构建变为每月 360 次构建,而且构建人员减少了一半。
    配置管理团队的生产率提高了 90%。
    “没有 BuildForge 我们是不能以现在这种效率进行运作的,它每年为我们节省了数百万美金。” —— 高级计算机科学家
    总结
    本系列描述了 Rational BuildForge 进行构建和发布过程管理及自动化的方法,讨论了如何通过整合项目组、流程以及系统来改进软件开发效率,从而提高整个开发团队的效率,改进产品质量,更好地遵规。

    本系列首先对编译和构建的差异给出了说明,然后对文中常用的名词或术语进行了描述,接下来在“当前构建及发布过程面临的挑战”对当前应用生命周期管理中,特别是构建及发布过程面临的挑战。为了更好地帮助读者理解 IBM Rational BuildForge 的实现原理及功能,特别在介绍具体产品功能前加入了有关构建流程的一些基础知识及非常好的实践经验。在“IBM Rational BuildForge 简介”部分对 BuildForge 的基本功能进行了描述,之后是基于 BuildForge 的集成构建平台解决方案介绍,以及给软件开发、质量改进以及遵规带来的好处,最后是一些用户的案例研究。

    参考资料
    本系列的 第一部分 介绍了 IBM Rational BuildForge 进行构建管理过程改进的原理和方法。
    本系列的 第二部分 介绍 IBM Rational BuildForge 的产品特性。
    访问 IBM Rational 软件交付平台 V7专题,了解 Rational V7 产品的方方面面。
    访问 IBM developerWorks 中国网站 Rational 专区 了解更多关于 Rational 产品的信息。

0
相关文章