添加构建功能
构建功能是可以添加到任何构建配置中的功能模块,以启用额外的功能。 例如, 提交状态发布器 构建功能将 TeamCity 构建结果发布到存储代码文件的 VCS,而 调查自动分配器 识别最新更改导致构建失败的用户,并自动分配任务以解决这些问题。 已配置的构建功能可以随时暂时禁用,而无需将其移除。
TeamCity 构建功能
TeamCity 包含以下可添加到您的配置中的构建功能:
- AssemblyInfo Patcher
允许自动为程序集设置构建号,无需手动修补 AssemblyInfo.cs 文件。
了解详情- 自动合并
跟踪所需分支中的构建,如果构建满足配置的条件(例如,构建成功),则会将其合并到目标分支。
了解详情- AWS 凭证
将 TeamCity 项目中配置的 AWS 连接共享给构建步骤。
了解详情- 构建审批
允许指定需要批准才能开始新构建的 TeamCity 用户。
了解详情- 构建文件清理器 (Swabra)
清理构建过程中产生的文件。
了解详情- 构建缓存
允许构建获取之前完成的构建所获取的文件(例如,下载的
npm软件包。
了解详情- 构建范围令牌
发放可在构建步骤内部用于访问 VCS 资源的短期 VCS 访问令牌。
了解详情- 提交状态发布器
将构建阶段和最终结果报告给外部系统。
了解详情- Docker 注册表连接
允许构建配置在构建开始前自动登录 DockerHub 或其他容器注册表。
了解详情- 文件内容替换器
在构建开始之前,使用正则表达式替换文本文件内容,并在构建结束后回滚所有更改。
了解详情- 释放磁盘空间功能
检查构建代理在运行构建前是否有足够的可用磁盘空间,如空间不足则清理旧的构建数据。
了解详情- Golang
在 TeamCity 中启用 Go 测试结果的实时报告和历史记录。
了解详情- 调查自动分配器
分析构建问题和测试失败,并识别可能导致这些问题的用户提交。
了解详情- Jira Cloud 集成
允许实时直接向 Jira Cloud 报告构建状态。
了解详情- 矩阵构建
允许您设置一个矩阵,其中多个参数各自有多个可能的值。 运行此类构建配置将生成 N 个独立构建,分别测试每个参数/值组合。
了解详情- 通知
通过电子邮件或 Slack 消息通知所需用户有关构建状态和事件。
了解详情- NuGet 订阅源凭证
允许构建与需要身份验证的 NuGet 源进行交互。
了解详情- NuGet 包索引器
对 NuGet 软件包建立索引并将其添加到 TeamCity 远程私有源,无需额外授权。
了解详情- 性能监视器(旧版)
用于在构建过程中收集代理硬件用法统计信息的旧版构建功能。 此功能现已对所有构建配置自动启用。
了解详情- Pull Request
允许构建尚未合并到目标仓库分支的更改。
了解详情- Ruby 环境配置器
将所选 Ruby 解释器和 gems bin 目录添加到系统
PATH环境变量,并在 RVM 解释器情况下配置其他所需环境变量。
了解详情- 在 Docker 中运行
允许您在 Docker/Podman 容器内运行构建配置的所有步骤。 不支持容器的步骤将在容器外运行。
- 并行测试
将大量测试拆分为更小的批次,并由多个 TeamCity 代理运行每个批次。
了解详情- 共享资源
允许通过使用共享的外部(对 CI 服务器而言)资源(如测试数据库或连接数有限的服务器)来限制并发运行的构建。
了解详情- SSH 代理
在构建过程中,使用选定上传的 SSH 密钥运行 SSH 代理。
了解详情- 版本控制系统标签
启用在版本控制系统中自动和手动标签(标记)构建源。
了解详情- XML 报告处理
解析外部工具生成的 XML 报告,并在构建页面上显示结果。
了解详情
如何添加、移除和禁用构建功能
在 TeamCity 用户界面
导航到 管理 | <YOUR_PROJECT> | <YOUR_BUILD_CONFIGURATION> 并切换到 构建功能 选项卡。

点击 添加构建功能 并从列表中选择所需的功能。
指定所需的功能设置并点击 保存。
构建功能 页面还允许您暂时禁用或永久删除已配置的构建功能。

在 Kotlin DSL 中
将相应的功能添加到您的 审批 块中的 Kotlin DSL。 例如,以下样本添加了 构建审批 功能,该功能要求一个用户批准新的配置构建。
另请参见: 构建功能 | Kotlin DSL 文档。
使用 REST API
向 /app/rest/buildTypes/<build_type_locator>/features 端点发送 GET 、 POST 和 DELETE 请求,以获取和删除现有的构建功能,并添加新的功能。
例如,使用以下正文的 POST 请求将 Pull Request 功能添加到配置中。
要禁用现有的功能,向 /app/rest/buildTypes/<构建类型定位器>/features/<ID>/disabled 发送一个带有 true 文本体的 PUT 请求。