< 上一课 | 下一课 >

课程 8:Jazz 团队构建

本节从开发者的角度审视 Jazz™ 团队构建用户界面,此开发者是 Rational Team Concert™ 构建所提供的内容的使用者。但是,您需要执行通常是由构建管理员或发行工程师完成的一些设置工作。要让 Jazz 团队构建生成项目所需的结果,可能会涉及相当多的构建脚本定制和采用工作才能满足项目的需要。幸运的是,Jazz 团队构建很容易运行,因此您可以了解它的运行方式,就像它正在为您的团队工作一样。
Jazz 团队构建Rational Team Concert 的一个基础组件。它本身并不构建任何对象,但是它提供了用于完成下列任务的基础结构:从 Rational Team Concert 存储库中检索您的团队工作、使它可用于您的构建脚本以及将结果交付回 Rational Team Concert。您作为 Rational Team Concert 用户和构建的使用者,可以监视正在运行的构建和访问构建结果。从早期版本的 Rational Team Concert 开始,Jazz 团队构建就用于构建 Rational Team Concert 本身。
Jazz 团队构建如何工作?以下是粗略的描述:
  1. 定义时间表:按您定义的时间表运行特定构建。我们记得,在有关 Rational Team Concert 源代码控制的一节中描述了一个团队在一个或多个团队流中共享他们的开发工作。
  2. 检查变更:为团队运行构建时,Jazz 团队构建将检查该团队的流内容是否包含任何变更,并且会将变更(称为变更集)接受到它自己的构建工作空间以便拥有流的当前副本。
  3. 访存存储库内容并运行构建:然后,构建将构建工作空间的内容提取到文件系统(构建脚本将在文件系统中执行构建)。
  4. 将工件发布至存储库:构建工件将被发布到 Rational Team Concert 存储库中以供用户访问。
  5. 完成构建时发送通知:将实时报告所有构建的状态,当完成构建时将自动通知您。
Jazz 团队构建包含 Jazz Build Engine 和 Jazz 构建工具箱。安装和运行这些组件是非常容易的事情。从 Jazz 客户机中,完成下列任务:
  • 定义构建脚本(我们将使用 Eclipse Jazz 客户机来完成此处的大部分工作)
  • 定义用于标识构建脚本的构建定义
  • 定义一个构建引擎来运行已定义的构建
  • 启动构建引擎,它将对构建请求作出响应、运行构建和发布结果
这将允许您请求执行构建、检查结果和探查构建用户界面,就像您是开发者以及 Jazz 团队构建所生成结果的使用者一样。
注: 设置步骤稍微有点冗长。如果您愿意,那么现在可以暂停,稍后再返回来完成设置步骤。如果您决定不再继续进行构建设置,那么应阅读下一节,其标题为“Jazz 团队构建用户界面导览”。接下来您将了解可以如何请求构建和检查构建结果。

为构建团队成员设置 Eclipse 工作空间

在本教程中,您在先前课程中创建的构建团队成员是专用的构建用户。现在,为该构建团队成员设置和配置新的 Eclipse 工作空间。
要为构建团队成员设置和配置新的 Eclipse 工作空间,请执行下列操作:
  1. 切换到新的 Eclipse 工作空间。
  2. 创建存储库连接。
  3. 连接到 Prelude 项目区域。
有关更多信息,请参阅课程 2:建立连接。完成设置工作之后,“团队工件”视图应该如下所示:

构建团队成员的 Eclipse 工作空间

创建构建脚本

要创建构建脚本:
确保已经定义了存储库连接并且您已登录。
  1. 包资源管理器视图中,右键单击一个项目,然后单击导出
  2. 导出向导中,在选择页面上的常规下面,选择 Ant 构建文件并单击下一步
  3. 导出页面上,确保选择了您的项目并且选中了所有复选框,然后单击完成
已将 build.xml 文件添加至您的项目。此文件使用 Ant 脚本语言。此脚本将编译您的项目并生成 Java™ 类文件。注意,它被标识为传出变更。

已添加至“包资源管理器”视图的 build.xml 文件

注意: 尚未交付 Ant 脚本。

创建专用的存储库工作空间

您可以创建专用的存储库工作空间供项目的 Jazz 构建定义使用。在构建期间,Jazz Build Engine(它使用预先指定的用户标识来连接至 Jazz 存储库)将使用此构建工作空间来确定要构建的内容。首先,它将接受来自团队的流的任何传入变更,然后将构建工作空间的内容装入到本地文件系统以便进行处理。
要创建专用的构建存储库工作空间,请执行下列操作:
  1. 团队工件视图中,右键单击我的存储库工作空间,然后单击新建 > 存储库工作空间
  2. 新建存储库工作空间向导中的选择流页面上,单击随一个流来流动单选按钮,然后从下方的窗格中选择团队 1 的流(团队 1)
  3. 单击下一步
  4. 新建存储库工作空间页面上,输入团队 1 构建工作空间作为构建工作空间名称,然后单击下一步
  5. 读访问许可权页面上,确保选中公用,然后单击下一步
  6. 要添加的组件页面上,确认选择了此流的组件并取消选中创建之后装入存储库工作空间复选框。
  7. 单击完成 构建存储库工作空间将显示在视图中。

    添加到“我的存储库工作空间”视图的构建存储库工作空间

创建构建定义和构建引擎

可以为您的项目创建 Jazz 构建定义。构建定义已被配置为使用新的构建工作空间,因此,该构建在运行时,它可以在启动构建前接受任何来自团队流的变更。
要创建构建定义,请执行下列操作:
  1. 团队工件视图中,展开项目文件夹。
  2. 右键单击构建,然后单击新建构建定义
  3. 新建构建定义向导的新建构建定义页面上,接受缺省值,然后单击下一步
  4. 常规信息页面上的可用的构建模板窗格中,选择 Ant - Jazz 构建引擎,然后单击下一步
  5. 构建前页面上,选择 Jazz Source Control 并单击下一步
  6. 构建后页面上,接受缺省值并单击下一步
  7. 其他配置页面上,确保选择了所有选项并单击完成 构建定义编辑器将打开。
  8. 为构建定义创建构建引擎:
    1. 支持构建引擎窗格中,单击创建引擎
    2. 创建构建引擎对话框中的引擎标识字段中,输入 PreludeBuildEngine
    3. 单击确定
  9. 单击构建定义编辑器的 Jazz Source Control 选项卡。
  10. 装入选项窗格中的装入目录字段中输入 fetched
  11. 要指定构建工作空间,请完成下列步骤:
    1. 构建工作空间窗格中,单击选择
    2. 选择流或工作空间对话框的匹配的项窗格中,选择团队 1 构建工作空间,然后单击确定
  12. 单击 Ant 选项卡。
  13. 构建文件字段中,输入以下路径:fetched/projectname/build.xml,其中 projectname 是 Java 项目的名称。对于本教程,我们使用 HelloWorld 项目。
  14. Java 主目录字段中,输入 Java 编译器的文件路径。例如,C:\Program Files\IBM\TeamConcert\jdk
  15. 单击保存
已完成设置!如果您检查团队工件视图,将看到列示的构建定义和构建引。

“团队工件”视图中的构建定义和构建引擎

交付构建脚本

在启动构建引擎以运行构建之前,我们记起尚未将 Hello Prelude 项目中的构建脚本(build.xml)交付给流。如果没有此构建脚本,那么 Jazz Build Engine 将无法获得执行构建所必需的指示信息。现在,请交付此变更。
  1. 暂挂的变更视图中的缺省组件下方,右键单击未解决,然后单击检入并交付

    “暂挂的变更”视图

  2. 检入并交付向导的变更集注释窗格中,输入注释并单击下一步
  3. 关联工作项页面上,选择现有工作项,然后单击完成
构建脚本现在就位于流中了。当构建运行时,此脚本将可用。

启动构建引擎

启动构建引擎以准备运行构建。
注: 启动构建引擎时,要确保使用正确的 JDK,可以使用 -vm 命令行参数来指定 Jazz 客户机附带提供的 JDK。

要启动构建引擎,请执行下列操作:
  1. 通过命令行转到 installdir/buildsystem/buildengine/eclipse,其中 installdir构建系统工具箱的安装目录。
  2. 输入 jbe -vm clientinstalldir/jazz/client/eclipse/jdk/bin/java -repository repositoryURL -userId build -pass password -engineId PreludeBuildEngine ,其中
    • clientinstalldirJazz 客户机的安装目录。
    • repositoryURL 是存储库 URL。例如,http://localhost:9080/jazz/
    • password 是构建用户的密码。
    在本教程中,用户标识是 build,构建引擎标识是 PreludeBuildEngine
构建引擎将启动,并且您在控制台上将看到与以下内容相似的消息(当然,您可能也会看到一些其他的消息):
2009-06-11 16:08:47 正在运行构建循环...
2009-06-11 16:08:47 正在等待请求...

如果 -sleepTime 值为 1 秒,那么将确保立即处理构建请求。

构建引擎正在等待执行工作。现在应该运行构建了。

Jazz 团队构建用户界面导览

了解您可以使用 Jazz 团队构建来完成的构建任务。

Jazz 客户机允许您执行下列构建任务:

请检查每项任务。

请求构建

可以从团队工件视图中请求构建。另外,还可以变更构建属性,或者请求不会影响构建定义状态并且在您指定的工作空间中运行的个人构建。
要请求执行构建,请执行下列操作:
  1. 团队工件视图中,展开项目文件夹。
  2. 展开构建文件夹并在列表中查找构建名称。
  3. 右键单击团队 1 构建,然后单击请求构建
    1. 可选:要请求不会影响构建定义状态并且在您指定的存储库工作空间中运行的个人构建,请在构建选项窗格中选择个人构建。必要时,请更新存储库工作空间组件装入规则字段。
  4. 请求构建对话框中,单击提交
构建引擎将处理构建脚本。您可以在从中启动构建引擎的命令窗口中观察此过程。

如果未能正确地运行构建,请检查构建结果中发布的日志文件。

查看构建结果

打开构建结果并了解所发生的情况。
构建结果编辑器包含概述日志属性选项卡。根据构建脚本对构建结果添加的内容不同,您可能会看到其他选项卡。例如,如果构建脚本添加了编译结果和下载项,那么构建结果编辑器将包含编译下载选项卡。

您已完成下列任务:

  1. 提交了构建请求。可能已按预定义的时间表自动启动此构建请求。
  2. 该请求已随构建定义一起被 Jazz Build Engine 接收。
  3. 通过使用构建定义(团队 1 构建工作空间)中配置的构建工作空间,Jazz Build Engine 已执行接受操作以便根据流来更新构建工作空间。第一次执行构建时,这会将新创建的构建脚本(build.xml)引入到构建工作空间中,运行构建时需要使用此脚本。
  4. 已通过使用构建定义中名为 fetched 的目录,将构建工作空间的已更新内容装入到文件系统中。
  5. 调用了构建定义中所指定的构建脚本。我们的脚本已经编译了 HelloWorld 项目并创建 Java 类文件。一个更复杂的脚本可能创建了一个 JAR 文件并且已将它发布回 Jazz。
  6. 此脚本完成后,构建日志和任何其他已发布的结果将存储在 Jazz 存储库中。
  7. 通知团队构建已完成。

构建结果编辑器

需要指出有关构建结果编辑器可能会提供的一些事项:

检查构建日志

请检查构建日志以了解新的构建脚本是否执行了工作。
  1. 转到“日志”页面。 请检查此构建已执行的操作。

    “日志”页面

  2. 选择日志文件并单击打开 在此处您可以看到已发生的大多数相关活动。

    样本构建日志

    现在,您开始明白 Jazz 如何使您和您的团队能够纵览构建信息。

监视构建状态

可以被动地或主动地获取构建状态。被动构建信息是通过以下两种方式提供的:在团队中心视图的构建部分中提供,以及通过屏幕上短暂显示的构建警报提供。

当构建完成时,将根据您所参与团队的已完成构建的状态来更新团队中心视图的构建部分。

对于此视图中所选择的构建,您可以查看此构建的结果或者请求新的构建。

要定制状态的更新频率,请执行下列操作:

查找可用的构建

您可以在构建视图中查看哪些构建可用、正在运行的构建的状态以及已排队准备运行的构建(要访问此视图,请在团队工件视图中使用构建文件夹的显示构建结果上下文菜单)。

“显示构建结果”菜单项

可以通过选择一列来将此视图的内容排序。有许多令人感兴趣的上下文菜单操作。可以将构建与用于构建它的流进行比较,或者根据构建来创建新的流(这对于根据经过验证的代码库来创建新的代码库很有帮助)。

“构建结果”视图

还可以通过在基于 Web 的 Jazz 仪表板中定义构建 Viewlet 来查看构建结果:

基于 Web 的 Jazz 仪表板构建结果

Jazz 开发团队已花了相当长时间来定制其构建过程。Jazz 的构建结果编辑器添加了标签分别为编译JUnit下载外部链接的选项卡。以下是对一个 Jazz 构建获得的屏幕快照,您可以从中了解其潜力所在。

样本定制构建结果

课程检查点

在本课程中,您学习了 Jazz 团队构建功能的基础知识。
< 上一课 | 下一课 >

反馈

本资料对您是否有帮助?您可以在 Jazz.net 上提供反馈(需要注册):在论坛中发表意见或者提交错误