TeamCity On-Premises 2024.03 Help

与 Meta-Runner 一起工作

meta-runner 允许您从构建配置中提取构建步骤、要求和参数,并创建一个 构建运行程序。 这个构建运行程序可以像在任何其他构建配置或模板的构建步骤中使用其他构建运行程序一样被使用。

使用 meta-runners,您可以:

  • 重复使用现有的 runners

  • 为典型任务创建新的运行器(例如,发布到 FTP ,删除一个目录)

  • 简化您的构建配置,并减少构建步骤的数量

基本上,Meta-Runner (元运行器)是一套您可以在另一个中重复使用的构建步骤;它是一个 XML 定义,包含构建步骤、需求和参数,您可以在其他构建配置的 XML 定义中利用它。

TeamCity 允许使用网络用户界面提取Meta-Runner (元运行器)。

所有的 meta-runner 都保存在项目级别,因此它们只在此项目及其子项目中可用,并且在外部不可见。 如果Meta-Runner (元运行器)存储在 Root 项目级别上,那么它在全局范围内(所有项目中)都可用。

您可以使用 TeamCity Meta-Runners Power Pack 中现有的 meta-runner,或者创建您自己的 meta-runner。

使用 Meta-Runners 功能包

Meta-runners Power Pack for TeamCity,可以在 GitHub 上找到,是用于各种任务的 meta-runners 收集,例如下载文件,触发构建,标记构建,更改构建状态,运行 PHP 任务等等。

每个 *MRPP_*.xml* 文件包含单个Meta-Runner (元运行器)的定义。 下载所需的 meta-runner(或将其定义复制到文件中),并按照下文中的说明进行安装。

安装 Meta-Runner

您可以通过 TeamCity 网页用户界面安装 meta-runner。 另外,您也可以直接通过文件系统来进行操作。

  • 要通过 Web UI 安装 meta-runner,请转到 Project Settings | Meta-Runners,点击 上传 Meta-Runner,并选择 meta-runner 定义文件。 保存您的更改。

  • 要直接将Meta-Runner (元运行器)安装到文件系统中,请将Meta-Runner (元运行器)定义文件放入 <TeamCity 数据目录\config\projects\<project_ID>\pluginData\metaRunners 目录中,其中 <project_ID> 是您希望放置Meta-Runner (元运行器)的项目的标识符。 如果 metaRunners 目录不存在,您需要手动创建它。
    一旦您将文件放入磁盘,TeamCity 将会检测到它并加载 meta-runner;无需重新启动服务器。

如果Meta-Runner (元运行器)成功加载,您将在项目设置的 Meta-Runners 页面上看到它的列表;如果您有适当的权限,您可以直接在 TeamCity UI 中修改定义。

运行者现在已在 Build Configuration Settings | Build Steps 页面的构建运行者列表中可用,以具有方便用户界面的原生 TeamCity 运行者身份呈现。

放置在项目中的 meta-runner 将对其所有子项目和构建配置可用。 要使Meta-Runner (元运行器)对所有项目可用,将其放在 Root 项目中。

创建 Meta-Runner

您可以通过 TeamCity 网页用户界面创建一个构建配置,并从中提取Meta-Runner (元运行器),或者使用现有构建配置的 XML 定义作为Meta-Runner (元运行器)。

从用户界面创建您自己的 Meta-Runner

让我们考虑一个创建 meta-runner 的例子。

要创建 meta-runner,请按照以下步骤操作(下面将更详细地描述):

  1. 准备构建配置以测试将在Meta-Runner (元运行器)中使用的构建步骤。

  2. 确保构建配置正常工作

  3. 将Meta-Runner (元运行器)提取到所需项目中

在此示例中,我们将创建一个Meta-Runner (元运行器),借助相应的 service message 将一些工件发布到 TeamCity。

通常,在构建配置中配置的工件会在构建完成后发布。 然而,有时对于具有多个构建步骤的长时间构建,我们需要更快地获取构建工件。 在此示例中,我们将创建一个可以插入到任何构建步骤之间,并可配置为发布先前步骤产生的构件的运行器。

准备构建配置

首先,需要准备一个构建配置,这将以与我们希望生成的 meta-runner 相同的方式工作。 让我们使用带有单个 Ant 构建步骤的配置:Ant 可以在任何 TeamCity 代理运行的平台上执行;此外,TeamCity 中的 Ant 运行器支持在运行器设置中直接指定的 build.xml。 这一点非常重要,因为我们的构建配置必须是自包含的——由于 meta-runners 不包含其源配置的 VCS roots,因此目标配置不能从版本控制仓库获取 build.xml。 在我们的例子中,Ant 步骤设置将如下所示:

添加 Ant 构建步骤

其中 artifact.paths 是一个系统属性。 我们需要在构建配置设置的 Parameters 标签页中添加它。

在构建参数中的工件路径

请注意,每个参数都可以有一个规格,在该规格中我们可以提供标签、描述、控制类型并指定验证条件。

如果您的Meta-Runner (元运行器)包含需要访问远程仓库的文件和文件夹的步骤,请执行以下操作:

  1. 转到一个导入Meta-Runner (元运行器)的构建配置的设置。

  2. 切换到 Version Control Settings 标签页。

  3. 点击 附加 VCS 根 按钮。

  4. 附加现有的 VCS 根目录 中选择与您的原始配置使用的同一个根目录。

  5. 点击页面底部的 Save 并运行您的构建配置。 由于现在已经与 VCS 仓库建立了连接,构建步骤可以访问所需的文件,并能够成功完成。

验证构建配置是否正常工作

一旦定义了构建步骤和参数,我们需要通过运行几个自定义构建对话框中的构建来确保我们的构建配置正常工作:

运行自定义构建并附带艺术品路径

提取和使用 Meta-Runner

如果构建配置正常工作,我们可以通过点击 构建配置设置 页面右上角的 操作 按钮,并选择 提取Meta-Runner (元运行器) 选项来创建Meta-Runner (元运行器):

提取 Meta-Runner

Extract Meta-Runner 对话框需要指定将创建 meta-runner 的项目。 在项目中创建的Meta-Runner (元运行器)将在该项目及其所有子项目中可用。 在我们的情况下,选择了 Root 项目,因此Meta-Runner (元运行器)将在所有项目中可用。

我们还需要为Meta-Runner (元运行器)提供名称、描述和 ID :在网络界面中会显示名称和描述,需要 ID 来区分这个Meta-Runner (元运行器)和其它的。

点击 提取 按钮后,TeamCity 将获取此构建配置中的所有构建步骤和参数的定义,并由此创建一个构建运行程序。

一旦Meta-Runner (元运行器)被提取,它就会在构建运行程序选择器中可用,名字就是它所属的项目名称,可以在任何构建步骤中像使用其它构建运行程序一样使用它:

发布 Artifacts 构建步骤

当前的Meta-Runner (元运行器)用法可以在项目 Meta-Runners 页面上查看:

Meta-Runners

当Meta-Runner (元运行器)被提取时,所有步骤都将被提取。 如果您需要重新排序参数或在运行脚本中进行一些快速修复,您可以在网页浏览器中编辑其原始 XML 定义:前往 项目管理 | Meta-Runners,然后使用 meta-runner 旁边的 编辑 选项。 参数将按照与 XML 定义中的 <param> 元素相同的顺序显示。 Meta-Runner (元运行器)的定义存储在 <TeamCity 数据目录>\config\projects\<project_ID>\pluginData\metaRunners 目录中。

根据构建配置的 XML 定义创建 Meta-Runner

或者,您可以使用现有构建配置的 XML 定义作为Meta-Runner (元运行器)。 为了实现此目的,将此构建配置的定义保存到一个名为 <runner_id>.xml 的文件中,其中 <runner_id> 是此构建运行程序的 ID。 按照上述 above 的描述安装 meta-runner。

由于Meta-Runner (元运行器)的外观和工作方式与其他任何运行器相同,因此也可以在现有Meta-Runner (元运行器)的基础上创建另一个Meta-Runner (元运行器)。

从 Meta-Runner 创建构建配置

如果您需要修复Meta-Runner (元运行器)并测试您的修复,您可以从Meta-Runner (元运行器)创建构建配置,更改其步骤,调整参数和要求,检查其如何工作,然后使用 提取Meta-Runner (元运行器) 动作将更改应用到具有相同 ID 的现有Meta-Runner (元运行器)。

最后修改日期: 16日 7月 2024年