运行自定义构建
构建配置和流水线右上角会显示两个按钮,可触发新构建:

运行 — 以默认设置启动新构建。
运行自定义构建 — 调出对话框,在启动前可修改构建设置。
本文介绍可用的自定义选项,并提及触发自定义构建的其他方式。
Run Custom Build (运行自定义构建)对话框
在 TeamCity UI 中出现此对话框,通常有以下两种情况:
点击 运行自定义构建 按钮时。
当您为一个包含一个或多个 提示参数 的配置或流水线启动普通构建时。 这些参数会在每次构建启动时要求输入新值。

可用的自定义选项分组在多个选项卡中。
一般选项
- 代理
此设置允许您选择应运行您的构建的代理。 以下选项可用:
<the fastest idle agent> (默认选项)— 如果选择此项,TeamCity 将自动选择一个代理来运行构建。
从列表中选择特定的 TeamCity 代理。 TeamCity 显示指定代理的当前状态,如果它已经在运行构建,会估计它何时会变为空闲。
<the fastest idle agent in the N pool> — TeamCity 将在指定池中的代理上运行构建。
如果已配置 云集成 ,您可以在从 特定云镜像 启动的代理上运行构建。 如果没有这种类型的云代理可用,TeamCity 将尝试启动一个新的。
<All enabled compatible agents> — 同时在所有已启用且与构建配置兼容的代理上运行构建。 使用此选项来:
为了进行代理维护,运行构建(例如,您可以创建配置以检查在环境升级/更新后代理是否正常运作)。
在不同的平台上运行构建(例如,您可以设置一个配置,并指定安装了不同环境的多个兼容构建代理。
- 构建选项
包含最常用的构建自定义选项。
- 日期 & 时间
保留 尽快 选项,以便在点击 运行构建 后立即将新构建放入常规队列。
要将构建安排到特定的日期&时间,请切换到 在特定日期和时间 选项。 计划构建会在 构建队列的最末端,直到到达它们预定的日期和时间。
依赖
仅当构建的父配置或流水线属于更大工作流且有上游构建时才显示此选项卡。 在这种情况下,您可以指定哪些上游构建需要重新构建。 默认情况下,TeamCity 会尝试重建所有这些构建,包括之前失败的。
依赖项构建在列表中最初按照其按字母顺序排列的分支进行分组。 同一分支的构建按构建日期排序。 要放弃基于分支的排序并仅按日期对所有依赖构建进行排序,请点击 按日期排序依赖项。 这使您能够首先查看最近的构建。 要恢复默认排序,请点击 重置全部。
更改
更改 选项卡可让您精细设置本次构建应处理哪些变更。
- 构建分支
此选项允许您为自定义构建选择分支。
- 包含更改
允许选择应包含在本次新构建中的 VCS 根更改。 包含以下选项:
在构建开始时的最新更改 — TeamCity 会自动包含当前可用的所有最新更改。
[日期](修订号)(更改名称) — 单个提交列表。 可选择任意提交,将项目构建到该变更。 请注意,TeamCity 会自动将忽略最新更改的构建标记为 历史构建。
如果 TeamCity 没有显示所需的较早提交(例如,相关的 VCS 根已从配置或流水线分离),可在变更日志中找到该提交并使用 使用此更改运行构建 操作。
手动指定的修订 — 允许您手动输入要构建的更改修订号。
- 使用 Settings
如果一个项目 在版本控制系统中存储其设置 ,此标签页允许您选择哪些设置应用于这个新的构建:
当前在 TeamCity 服务器上定义的设置
从为此构建计算的 VCS 修订版加载的设置。
默认行为取决于当前选择的 项目设置 | 版本化设置 页面设置(有关更多信息,请参见本节: 定义应用于构建的设置)。 如果您选择了 specific changes revision ,TeamCity 也会载入项目设置的相应版本。
将设置 存储在基于服务器的 YAML 的流水线不会显示此选项。
参数
此选项卡允许添加、编辑和删除 参数。 以下限制适用:
评论和标签
其他启动自定义构建的方法
除了点击相应的 运行... 按钮外,还可按如下方式启动自定义构建。
在任意已完成构建的 更改 选项卡中。 点击所需变更右侧的省略号按钮,并选择 使用此更改运行构建。

在 REST API,通过向
/app/rest/buildQueue端点发送POST请求,并在请求体中指定所需Build(构建)对象设置。 有关更多信息,请参见此文章: 启动自定义构建。curl --location '<server-url>/app/rest/buildQueue' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Authorization: <access-token>' \ --data '{ "buildType": { "id": "Config-no-2" }, "triggeringOptions": { "cleanSources": true, "rebuildAllDependencies": false, "rebuildFailedOrIncompleteDependencies": false, "queueAtTop": true, "rebuildDependencies": { "buildType": [ { "id": "Config-no-1" } ] } } }'在构建页面点击 操作 | 提升。 这样会触发此构建所属的链,从而可以运行包含较早上游构建的链,或运行未自动启动的下游构建(例如,部署)。 促销仅有一次性效果:在当前运行完成后,构建配置和流水线将恢复为默认依赖项逻辑(最后成功或最后固定的构建)。 请查看 以下博客文章 以获取更多信息。
