内容


建立一个 Jazz Build Engine 来运行 Ant 脚本

第 2 部分. 设置构建脚本来执行预览构建

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 建立一个 Jazz Build Engine 来运行 Ant 脚本

敬请期待该系列的后续内容。

此内容是该系列的一部分:建立一个 Jazz Build Engine 来运行 Ant 脚本

敬请期待该系列的后续内容。

这一系列文章介绍如何使用 IBM® Rational Team Concert™ 来执行代码审查(code review)。基于代码审查的结果,这一过程或者提交构建版本进行编译,或者停止并报告代码审查错误。

第 1 部分描述了文中示例场景的构建定义、技术和功能等相关背景,以及支持构建定义的 Jazz Build Engine 配置。您需要首先阅读系列文章的第 1 部分。

第 2 部分,即这篇文章,将介绍一个基于 Ant 的构建脚本(Ant-based build script),即定义构建任务如何运行的 build.xml。

Ant 构建脚本的描述

主构建(master build)驱动不同的任务进行提交。主构建使用一个运行在 Jazz Build Engine 之上的 Ant 构建脚本。这一脚本同时还实现构建工件(build artifact)返回给 Rational Team Concert 服务器。

Ant 脚本的格式是 XML,其中的节点定义了构建所要运行的任务。通常这一脚本被命名为 build.xml。更多关于如何创建一个基本的 Ant 构建脚本方面的信息,可以查询 Jazz.net 的文章“Getting Started with Ant scripts and RTC Build Ant Tasks”。

build.xml 脚本描述了从属构建(subordinate build)到特定构建过程的集成。这一过程包括了以下步骤,如图 1 所示。

  • 发布构建参数文件作为构建贡献。
  • 运行预览依赖构建来识别自从最后一次构建以来哪个 COBOL 程序发生了变更。
  • 发布 buildableFiles.xml 来作为构建贡献。
  • 转换这一文件为 .txt 文件,使其对于代码审查环节可读。
  • 运行 Rational Programming Patterns 同步来强制更新 Rational Programming Patterns 索引。
  • 解析同步日志文件来检查同步是否成功。
  • 为有限边界(limited perimeter,仅限自从最后一次构建以来有发生变更的 COBOL 程序)运行代码审查
  • 解析代码审查结果文件来检查是否有严重错误被侦测到。
  • 转换 .csv 结果文件为 .html 文件,并发布为构建贡献。
  • 如果没有严重错误被侦测到,运行一个从属构建来编译有限边界。
  • 等候从属构建的结束,并重用构建状态来实现主构建
图 1. build.xml 模式
解释构建过程的模式
解释构建过程的模式

查看以下对 build.xml 文件每一个节点的描述。

发布脚本文件任务

第一个步骤的目的是将 Ant 脚本所使用的主脚本及文件发布为构建贡献。
模式片段 | 完整模式

脚本或文件被保存在 Rational Team Concert 组件 BUILD_PARAMETERS 中,如果图 2 所示。

图 2. BUILD_PARAMETERS 组件
Rational Team Concert 组件的结构
Rational Team Concert 组件的结构

定义以下四个脚本或文件作为一个贡献:

  • build.xml:Ant 构建描述,如图 3 所示
  • codeReviewCde.bat:代码审查的命令行脚本
  • synch.bat:RPP 同步的命令行脚本
  • buildPreview.properties:预览构建的覆盖属性

通过 artifactFilePublisher 任务,所选中的工件被直接保存在 Jazz 存储库的目录中。

图 3. build.xml:发布任务
build.xml 抽取第 37 到 84 行
build.xml 抽取第 37 到 84 行

更多关于 artifactFilePublisher 的细节信息,请查询 Rational Team Concert information center

当您提交主构建时,那些工件将会在主构建结果的下载(Download)页签上变为可见,如图 4 所示。

图 4. 主构建任务的下载页签
主构建的构建结果,下载页签
主构建的构建结果,下载页签

预览构建任务

IBM Rational Team Concert 的构建预览允许您查看将要构建什么,而无需真正运行一个构建。这一特性只针对依赖构建(dependency build)。
模式片段 | 完整模式

如图 5 所示,build.xml 文件节点的第一部分描述了预览构建。

图 5. build.xml 文件:预览构建任务
build.xml 抽取 87-133 行
build.xml 抽取 87-133 行

为了配置一个预览构建,要覆盖构建特性 team.enterprise.build.dependency.previewBuild。设置这一属性为 true,首先创建一个特性文件,如清单 1 所示。

清单 1. 特性文件 buildPreview.properties
# those properties will override the build properties
team.enterprise.build.dependency.previewBuild=true

下一步,通过使用 overridePropertiesFile 属性,通知构建任务在 requestTeamBuild 任务中使用这一特性文件,如图 6 所示。

图 6. 在 requestTeamBuild 任务中覆盖 PropertiesFile 属性
build.xml 抽取第 98 到 104 行
build.xml 抽取第 98 到 104 行

从这一构建中得到的所有文件可以在从属构建的下载页签找到。如图 7 所示。这一例子展示了手工创建特性文件的过程。当然,在一个企业级场景,您可以使用一个 Ant 任务来创建该文件,这可以增加跨组织使用参数的可靠性。更多关于如何使用一个 Ant 任务来创建一个文件方面的细节信息,请查询 Ant Apache 手册

图 7. 从属构建的下载页签
从属构建的构建结果,下载页签
从属构建的构建结果,下载页签

在预览构建中,添加一个 linkPublisher 任务,如图 8 所示。这一任务将一个链接作为贡献添加到主构建结果中。

图 8. linkPublisher 任务
build.xml 抽取第 106 到 113 行
build.xml 抽取第 106 到 113 行

更多关于 linkPublisher 任务的细节信息,请查询信息中心

当您提交主构建时,从属结果将会在主构建结果的 External Links(外部链接)页签上变为可访问的,如图 9 所示。

图 9. 主构建的外部链接页签
主构建的构建结果,外部链接页签
主构建的构建结果,外部链接页签

发布可构建文件任务

所生成的 buildableFiles.xml 文件尤其值得注意,因为它包含了从最后一次构建以来哪些文件有改动过的工件清单。被改动的部分需要被重建。
模式片段 | 完整模式

图 10 显示了 buildableFiles.xml 文件的相关段落。

图 10. buildableFiles.xml
buildableFiles.xml 文件的内容
buildableFiles.xml 文件的内容

您可以从从属构建的下载页签查阅这一文件,但可以从主构建访问它会是最理想的方式。

为了从本地检索这一文件,把它复制到一个本地工作目录中,并把它发布为主构建的一个工件。

build.xml 文件是用于描述预览构建节点的第二部分,如图 11 所示。

图 11. build.xml file:本地复制 buildableFiles.xml
build.xml 抽取第 135 到 151 行
build.xml 抽取第 135 到 151 行

更多关于 artifactLinkPublisher 任务的细节信息,请查询信息中心

当您提交主构建时,这一工件将会在主构建结果的下载页签上变为可见,如图 12 所示。

图 12. 主构建的下载页签
主构建的构建结果,下载页签
主构建的构建结果,下载页签

检索和转换所生成结果任务

为了能够重用这一文件来作为代码审查任务的输入内容,您需要抽取 COBOL 源代码的名字。使用 build.xml 文件中的 XLS 转换来转换这一 XML 文件为 TXT 文件。
模式片段 | 完整模式

这一文件在上一步骤中可以进行检索。下一步骤是转换这一文件,如图 13 所示。

图 13. build.xml:转换结果为 TXT 文件
build.xml 抽取第 153 到 159 行
build.xml 抽取第 153 到 159 行

在转换之后,这一文件将会与图 14 所显示的相类似。

图 14. buildableFiles.txt
buildableFiles.txt 文件的内容
buildableFiles.txt 文件的内容

这一 TXT 文件现在可以被用作代码审查的输入内容。

这一系列的第 3 部分将会描述如何运行 RPP 同步任务,如何实现代码评审,如何解析、转换和发布代码审查结果,以及最后如何运行构建。

致谢

本文作者向 Nicolas Dangeville、Benoit Jaunin 及 Tony Chen Zhang Hong 为本文所涉及功能进行的实现工作致谢,并感谢 Jean-Yves Baudy、Christian Chalumeau、Hervé Le Bars、Stéphane Leroy、Samira Bataouche 以及 Vincent Trébuchon 为本文所作的审阅。

附录

图 15. build.xml 模式
解释构建过程的模式
解释构建过程的模式
图 16. 发布任务片断
解释构建过程的模式
解释构建过程的模式

回到发布脚本文件任务

 

 

图 17. 代码审查,解析转换及发布,运行构建片断
解释构建过程的模式
解释构建过程的模式

回到预览构建任务

回到发布可构建文件任务

回到检索和转换所生成结果任务

 


下载资源


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=994368
ArticleTitle=建立一个 Jazz Build Engine 来运行 Ant 脚本: 第 2 部分. 设置构建脚本来执行预览构建
publish-date=01062015