让我告诉你我们之前在 Jenkins 中想要做的事情。
a) 我们有构建和架构管道 (PMBD) 的通用存储库。
b) 当在 PMBD 存储库上创建拉取请求时,我们的上游管道会触发并检查更改的文件。
c) 如果提交或更新任何 .arxml 文件,那么它将触发架构管道作为其下游。
d) 如果提交或更新任何 .c 或 .h 文件,它将触发下游的构建管道。
e) 如果 .arxml 和 .c、.h 文件都被提交,那么它将触发构建和架构管道。
f) 如果提交了任何其他文件,它将跳过该构建。
g) 现在构建管道本身被视为上游作业,它将检查控制器列表(开发人员可以提到当前更新适用于 1 个或多个控制器),根据控制器列表,它将为每个控制器触发一个下游作业构建控制器。
h)因此,如果我们有 n 个控制器,则将触发 n 个下游作业,最后根据每个下游作业的构建结果,我们将向最终用户发送一封电子邮件,说明此控制器失败,而此控制器通过。
我想知道如何在 Teamcity 中实现相同的工作流程
您的设置相当复杂,我们不太可能构建整个解决方案来解决您在 StackOverflow 上的任务。
但无论如何,在执行此操作时,记住 Jenkins 和 TeamCity 之间的几个基本区别非常重要: