TeamCity On-Premises 2026.2 Help

Build Chain(构建链)

构建链是由依赖项连接的一系列相互关联的 构建配置流水线 ,其中每个成员都会等待其上游完成后再开始。

构建链查看器

从技术上讲,构建链是一个 有向无环图 :它具有明确的执行顺序,且不能包含循环。

何时使用构建链

当多个构建配置或流水线需要按特定顺序运行并共享代码库的同一状态时,构建链非常有用。 两种常见场景:

  • 发布前的多平台测试。 只编译项目一次,在不同平台上同时运行测试,然后仅在所有测试通过时生成发布构建。

  • 分流繁重的测试套件。 将缓慢的测试套件移到其自己的配置中,并通过快照依赖项链接回来,这样它在获得自己的历史记录、触发器和代理要求的同时,仍会在与其验证的构建相同的源代码上运行。

编译、测试、打包链

链的运行方式

触发下游构建时,TeamCity 不会只是启动上游并等待。 它会:

  1. 以传递方式解析整个链 — 包括所有上游对象,即使它们相隔多个层级。

  2. 一次性将所有链成员加入队列,并计算一个供所有成员共享的源快照。 每个成员都将在同一时间点获取的代码上运行。

  3. 从上游到下游运行链,并在每个成员的所有直接依赖项完成后立即启动该成员。

这种共享修订保证是构建链与简单顺序触发器之间的关键区别。 例如,它可确保 "部署" 步骤始终操作与 "测试" 步骤验证过的完全相同的二进制文件。

链成员

构建配置和流水线都可以参与链。 完全支持混合链 — 流水线依赖构建配置,或反过来。

构建配置

通过 Web UI 或 Kotlin DSL 配置的经典 TeamCity 实体。 构建配置之间的依赖项称为 快照依赖项 ,并在配置设置的 依赖 页面上设置。

Pipelines

较新的基于 YAML 的实体。 流水线之间,或流水线与构建配置之间的依赖项称为 流水线依赖项 ,并在流水线设置面板中设置。

请参阅 配置链依赖项配置 以获取这两种类型的设置说明。

上游和下游

链依赖项始终在 下游 对象中声明,指向 上游 对象。

要创建 "构建 → 测试 → 部署" 链,请打开 部署 并添加对 测试 的依赖项,然后打开 测试 并添加对 Build(构建) 的依赖项 — 而不是反过来。

线性构建链:C 先运行,然后是 B,最后是 A

由此模型产生两个影响:

  • 上游对象始终可以独立运行 — 它们本身没有依赖项。

  • 触发下游对象会自动将其所有上游依赖项加入队列并运行。

链还可以扇出:如果多个对象各自依赖同一个上游,那么该上游完成后,只要有足够的空闲代理可用,它们就会并行运行。

B1 和 B2 并行运行,二者都位于 A 的上游

在 TeamCity 中,下游构建也称为 依赖于此的构建 (因为它们依赖于前面的构建),上游构建称为 依赖项构建

构建链与完成构建触发器

构建链是 TeamCity 中链接对象的推荐方式。 它们可在构建配置和流水线中提供源修订同步、构建复用和细粒度执行控制。

完成构建触发器是一种较旧的从左到右推送机制,仅适用于构建配置。 对于新的设置,建议使用构建链,而不是完成构建触发器。

后续步骤

2026年 9月 11日