配置依赖项
实际的 CI/CD 流水线通常结合多个独立配置。 例如,“Build”、“Test”和“Deploy to Staging”配置(或作业)可以独立运行或按顺序运行。
TeamCity 提供多种选项来创建独立配置之间的关系。
- Build Chain(构建链)
构建链是使用 快照依赖项互连的经典 TeamCity 配置集合。
快照依赖项是从右到左的关系。 例如,在“ A -> B ”链中,配置“B”依赖于配置“A”,因此“B”在“ A ”首先生成合适的构建之前无法运行。 “合适”构建的标准取决于您的设置,请参阅 合适的构建部分了解更多信息。 同时,“A”可以独立运行,而不会触发新的“B”构建。
对于关键任务场景,您可以设置依赖配置以始终强制生成新的上游配置构建,即使项目没有最近的更改。
- 完成构建触发器
完成构建触发器建立从左到右的关系。 例如,您可以创建类似于构建链的“ A -> B ”序列,但有一个关键区别:“B”可以独立运行,而每个新的“ A ”构建会自动触发一个新的“B”构建。
完成构建触发器提供了一种简单但不灵活的方式来触发下游构建,通常可以被快照依赖项替代或补充。
- 构件依赖性
工件依赖项允许配置导入其他配置构建过程中生成的文件。 例如,“Delivery”配置可以将“Build”配置生成的文件(Docker 镜像、NuGet 包、HTML 文档页面等)部署到指定资源。
工件依赖项不会在配置之间创建显式链接:两者可以独立运行,而不会触发彼此的构建。 如果您使用工件依赖项而没有相应的快照依赖项,依赖构建无法确保存在合适的工件来源(上游配置构建)。 因此,您可能需要设置工件依赖项以定位固定/标记的构建。 此设置可以对您的构建流程进行更多控制。
tip
一个构建(构建配置)对另一个构建具有快照或制品依赖关系,称为 依赖构建(配置)。
本节重点介绍构建链和制品依赖关系。 要了解有关完成构建触发器的更多信息,请参阅此文章: 配置完成构建触发器。