第 14 章 构建计划的快照

Luntbuild构建计划

该页展示了Luntbuild里所配置的所有构建计划。 "Project"列对应的值代表了构建计划所关联的项目。 "Schedule"列对应了该构建使用的构建计划。 "When to trigger"列是触发构建计划的日程安排。 "Latest build"列是该构建计划最后一次的构建实例。 最后一列包括了两个图标。最右边的图标 是“构建历史”("history builds")图标,用于访问对应构建计划的所有历史构建记录。 这个图标左边的的图标 是代表“手工运行构建”("run manually")的意思. 您可以通过点击该图标来手动启动构建。 如果构建已经通过手工方式启动了,那么该按钮左边会出现一个“停止构建”图标 。这个时候点击“停止构建”图标,就可以强制停止正在运行的构建。

接下来的例子是有部分构建已经在运行状态的构建计划列表。

运行状态的Luntbuild构建计划

在这一页的右上角还有一个“搜索”图标 。 可以通过该功能查找特定的构建实例, 还可以对查询结果进行操作,例如可以删除查询结果里面列出的构建实例。

构建计划栏靠左的图标显示了构建计划的执行状态。 构建计划的执行状态跟构建状态是有区别的。它代表了构建计划是否成功的触发。 触发构建计划不一定会产生一个新的构建实例, 这取决于当前的构建的策略和代码库是否已经改变。 即使构建成功了,构建计划执行状态可能是“失败”("fail"),例如,可能是因为发送通知邮件出错了。 相反的例子是,尽管构建失败了,但是构建计划执行状态是“成功”("successful"),因为构建计划 成功触发,只是构建本身失败了。 跟构建计划执行有关的细节可以查看系统日志,即每一页上面的"system log"链接。

有两种类型的构建,一种是clean(完整)构建,另一种是incremental(增量式)构建 执行clean(完整)构建的时候,Luntbuild首先将目录清空,然后做一个对VCS模块的完整的检出操作。 执行incremental(增量式)构建,Luntbuild只更新那些自上一次检出后发生改变的源文件。 而且在新的构建开始之前增量式构建的文件不会被清除。 增量式构建速度很快,但是没有完整构建可靠。 例如,如果某人删除了VCS里面的一个文件,对于特定的VCS如CVS,其更新命令并不能将工作目录里对应的文件也进行删除。从而可能 导致错误的构建。

每个构建计划的构建历史信息可以点击图标 该图标("history builds")位于构建计划的每一行记录的右侧。 点击该图标后会列出指定的构建计划的所有构建的历史信息。 通过点击列表中某个构建版本对应的超链接,就可以查看该构建的详细信息。 如下图:

构建计划的构建历史信息列表

在这个页面的"Build artifacts"(构建制品)这个区域,您可以下载相应的制品。 同时您也可以上传制品,或者创建一个新的目录。 如果您为某个构建提供补丁,那么这个功能就很有用了。 该页面还可以访问构建的日志。日志文件可以帮助您分析构建失败的原因。 在当前构建和上一次构建之间,代码库中的文件和目录的变更都会记录在版本变更日志文件里面。 如果在生成构建的时候选择了"label build",那么在该页面的顶端会显示一个“重新构建”("rebuild")图标 如果点击该图标,那么您可以重复该构建。 重新构建的过程完全使用和上一次构建的一致的VCS设置。 在进行重复构建的时候相应的VCS配置明细会记录在构建日志里面。 点击"Builds"标签可以回到构建计划的页面。

在构建计划和历史构建信息的页面都可以通过点击查询构建图标("search build icon") 来查找构建历史信息. 查询页面如下:

构建历史信息查询页面

该页面提供了以下查询条件:

Version(版本)

指定要查询的构建的版本号。如果选择了"exact match"(完全匹配), Luntbuild的查询功能会根据指定的版本号进行精确的匹配。 否则,只要以指定的版本号作为开头的版本都会纳入查询结果。

Status(状态)

指定要查询处于哪种状态的构建。目前提供了以下几个选择项。

all status
successful
failed
running

From(起始日期)

查询指定日期以后生成的构建。日期格式为"yyyy-MM-dd",例如"2004-9-2"

To(终止日期)

查询指定日期之前生成的构建。日期格式为"yyyy-MM-dd",例如"2004-9-2"

Schedule(构建计划)

指定查询哪个构建计划下生成的构建。

这一页显示匹配查询条件的构建历史信息列表。

点击删除按钮 .

可以删除列表里面相应的构建 也可以点击移动(或者叫提升)按钮 移动选定的构建, 然后会出现移动构建("Move builds")页面。在这个页面您可以选择一个需要将构建移动到哪个目标构建计划("Destination schedule")。 移动构建提供了以下功能:

  1. 在删除构建计划或者项目前将构建保存到其他地方

  2. 提升重要的构建。例如,我们可以将"nightly"(日构建)构建计划的某个构建提升到"release"(发布构建)构建计划,这样该构建就可以 准备作为对外发布。