如何 运行 Teamcity 项目中具有相同结帐分支的连续所有构建

How to run all the builds in a row in the Teamcity project with the same checkout branch

我有一个 Teamcity 项目,其 VCS Root 配置如下:

我希望这意味着我可以传递任何分支名称并且它会被成功处理。 该项目包含两个构建。让它成为 STEP_ASTEP_B.

STEP_B 有触发器 finishBuildTrigger:

{ buildType = "${STEP_A.id}" branchFilter = "+:*" }

这意味着它将在 STEP_A 结束后开始。

我想 运行 通过 REST API 所有构建。我使用参数 branchName = "feature_222".

POST /app/rest/buildQueue

好的,我看到 STEP_A 成功启动 feature_222 分支结帐。结束后 STEP_B 开始 运行 但是 develop 分支结帐。当然,这不是一个可取的行为。

我应该怎么做才能解决这个问题?

我会重新配置此管道以依赖 快照依赖项 而不是 完成构建触发器 。因此,请按照以下步骤操作:

  • 删除(或禁用以试用)finishBuildTrigger
  • 从步骤B添加一个新的快照依赖到步骤A(在下面的截图中,它是从Deploy配置到Build
  • 使用 REST API
  • 触发 步骤 B 的构建

这是它的样子:

根据文档:

Build configurations linked by a snapshot dependency can optionally use revisions synchronization to ensure the same snapshot of the sources.

简而言之,快照依赖项是一种机制,用于强制构建链正在构建的源的相同版本(快照)。

有关详细信息,请参阅 official documentation