Build Forge 使用一组简单的对象来构造过程自动化的描述。
本部分概述了关键概念和对象,以及它们如何关联。为方便起见,还包含了针对更详细说明的链接。
用户和角色
要访问 Build Forge,用户必须为自己设置一个用户对象。在生产系统中,这通过将 Build Forge 配置为访问身份管理系统 LDAP 来实现。
Build Forge 使用授权系统来控制用户对所有对象的访问。访问组对象包含许可权的列表。用户属于一个或多个访问组。
您可以创建自己的访问组,也可以修改所提供的访问组。系统中定义的访问组包括:
- 构建工程师 - 定义过程(创建项目和步骤)
- 系统管理员 - 管理服务器和其他系统范围功能
- 安全性 - 管理用户、访问权和安全性
- 开发者 - 帮助开发过程、运行作业和查看结果
- 操作员 - 复制项目、运行作业和查看结果
- 访客 - 复制项目、运行作业和查看结果
服务器
服务器对象定义一个可用于运行项目和步骤的场所。项目和步骤可以使用相同的服务器,也可以独立地选择服务器。
服务器对象表示执行工作的主机。主机必须运行 Build Forge 代理程序,以从系统接收工作并返回结果。
其他对象与服务器相关,需要在定义项目和步骤前进行设置:
- 服务器认证:服务器认证存储登录信息,以供服务器用于访问由服务器指定的主机。必须先创建服务器认证,然后才能创建使用该服务器认证的服务器。在服务器定义中,可以从系统中定义的所有服务器认证的列表中选择服务器认证。
- 收集器:收集器对象负责收集指定的服务器属性。数据存储在清单中。服务器指定了一组缺省的属性。这些内置的属性包括有关主机体系结构、网络连接和资源(CPU、内存和负载)的信息。您可以通过定义收集器对象来添加其他属性。必须先创建收集器,然后才能将其添加到服务器。
在服务器定义中,可以从系统中定义的所有收集器的列表中选择收集器。
- 选择器:选择器对象定义如何选择供项目或步骤使用的服务器。必须先创建选择器,然后才能将其添加到项目中,以供该项目使用。在项目定义中,可以从系统中定义的所有选择器的列表中选择选择器。
- 环境:环境对象是一组可供步骤使用的变量。在作业执行期间,会在步骤运行前在服务器主机上设置变量。环境可与服务器对象、项目对象和步骤对象关联。
如果在不同环境中,将同一变量设置为不同的值,那么继承方案会确定要使用的值。必须先创建环境,然后才能将其添加到服务器、项目或步骤。在那些对象定义中,可以从系统中定义的所有环境的列表中选择环境。
环境
环境是一组变量。可以针对服务器、项目和步骤对象指定环境。步骤运行时,在所有这些对象中设置的环境会组合起来提供变量,以供该步骤使用。请参阅关于环境。
可以在步骤运行时更改变量。请参阅在步骤执行期间更改变量值。)变更作用域可以是步骤本地、项目本地或永久(变量在存储环境中更改。
可以使用预定义的系统变量以及自己定义的变量。
项目
项目定义了要在过程中完成的工作。项目启动时,会作为一项作业运行。
要完成的工作包含在步骤列表中。
其他对象与项目相关:
- 选择器:选择器确定在何处启动项目。如果未对项目指定选择器,那么选择器不会独立运行,且称为库。必须先定义选择器,才能将其分配给作业。
- 环境:环境对象是一组可供步骤使用的变量。在作业执行期间,会在步骤运行前在服务器主机上设置变量。环境可与服务器对象、项目对象和步骤对象关联。
如果同一变量设置为不同的值,那么继承方案会确定要使用的值。必须先创建环境,然后才能创建使用该环境的服务器、项目或步骤。在那些对象定义中,可以从系统中定义的所有环境的列表中选择环境。
- 通知模板:通知模板定义如何发出有关作业活动(作业启动、作业通过、作业失败,等等)的通知。通知对象定义通过访问组通知的人员。您可以在系统设置中指定 SMTP 服务器的位置。
- 类:类对象用于对项目进行分组,以供维护。通常,类用于定期清除或归档已完成的作业。所有使用此项目运行的作业都会受到该类的影响。
- 适配器:适配器定义与外部系统(通常是源代码管理系统)的集成。
我们提供了几个样本模板作为起点。您需要进一步配置这些模板,以便管理连接并执行系统中指定的操作。
- 适配器链接:适配器链接定义适配器和使用该适配器的项目间的关系。
步骤
步骤定义要完成的工作的最小单元。(请参阅关于步骤。)它的关键组件是其“命令”属性,其中包含要在所选服务器上运行的命令。
“命令”属性还可用于运行点命令。
点命令是在过程引擎上运行并提供额外功能的命令。
其他对象与项目相关:
- 选择器:步骤可以具有自己的选择器。
如果未指定,步骤会使用其项目的选择器。
- 环境:步骤可以具有自己的环境。
由服务器、项目和步骤提供的环境会组合在一起。缺省情况下,这些环境按上述顺序应用,这样由步骤的环境定义的任何变量优先于同一变量的定义。优先顺序可以在系统设置中控制。
- 日志过滤器:在步骤的“结果”属性中,可以将其分配给一个日志过滤器。日志过滤器对象用于指定一些条件,表明步骤是通过还是失败。运行 Perl 引擎时,可使用正则表达式来扫描日志以查找某个特定模式。运行 Java 引擎时,也可以使用正则表达式来扫描日志以查找某个特定模式。通常,会使用命令的退出状态,但日志过滤器提供了一种备选方法。必须先创建日志过滤器,才能在步骤中指定该过滤器。在步骤的“结果”属性中,您可以从系统中定义的所有日志过滤器的列表中选择日志过滤器。
- 通知模板:通知模板定义如何发出有关步骤活动(步骤启动、步骤通过、步骤失败,等等)的通知。通知对象定义通过访问组通知的人员。您可以在系统设置中指定 SMTP 服务器的位置。
- Build Catalyst:步骤可运行 rafmake - Build Catalyst 中的一个关键实用程序。Build Catalyst 有助于加速基于 make 的构建。除 Build Forge 代理程序外,Build Catalyst 也必须安装在运行 make 构建的同一主机上。
作业
作业指正在运行的项目。作业启动后,过程引擎会将该作业放入队列然后将其运行。您可以在“作业”面板中检查其状态。作业完成后,会提供以下信息:
- 结果:您可以通过打开作业来检查所有步骤的结果。您还可以打开正在运行的作业以监控其进度。
- 步骤日志:步骤日志记录有关步骤运行方式的详尽信息,包括有关清单、环境设置以及执行结果等的信息。单击“结果”页面中的步骤结果链接可查看日志。
- 材料清单:材料清单 (BOM) 包含有关作业步骤和步骤清单的信息。可以使用 .bom 点命令对 BOM 的其他信息进行格式化,并将数据写入其中。可以使用 .scan 点命令向 BOM 添加基线和检查点。
您可以取消和重新启动作业。您可以向计划安排添加项目,以使这些项目按计划的时间运行。