如何 运行 Teamcity 项目中具有相同结帐分支的连续所有构建
How to run all the builds in a row in the Teamcity project with the same checkout branch
我有一个 Teamcity 项目,其 VCS Root 配置如下:
- 默认分支:
develop
- 分支规范:
+:refs/heads/(*)
我希望这意味着我可以传递任何分支名称并且它会被成功处理。
该项目包含两个构建。让它成为 STEP_A
和 STEP_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。
我有一个 Teamcity 项目,其 VCS Root 配置如下:
- 默认分支:
develop
- 分支规范:
+:refs/heads/(*)
我希望这意味着我可以传递任何分支名称并且它会被成功处理。
该项目包含两个构建。让它成为 STEP_A
和 STEP_B
.
STEP_B
有触发器 finishBuildTrigger
:
{ buildType = "${STEP_A.id}" branchFilter = "+:*" }
这意味着它将在 STEP_A
结束后开始。
我想 运行 通过 REST API 所有构建。我使用参数 branchName = "feature_222"
.
/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。