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

时间:2019-11-05 06:21:58

标签: version-control teamcity teamcity-9.0

我有一个VCS根配置为如下的Teamcity项目:

  • 默认分支:develop
  • 分支规范:+:refs/heads/(*)

我希望这意味着我可以传递任何分支名称并将其成功处理。 该项目包含两个版本。设为STEP_ASTEP_B

STEP_B具有触发器finishBuildTrigger

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

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

我想通过REST API运行所有构建。我使用参数/app/rest/buildQueue进行了branchName = "feature_222"的发布。

好的,我看到STEP_A成功地从feature_222分支结帐开始。结束后,STEP_B开始使用develop分支签出运行BUT。当然,这不是理想的行为。

该如何解决?

1 个答案:

答案 0 :(得分:0)

我将重新配置此管道,使其依赖于 snapshot依赖项,而不是 finish构建触发器。因此,请按照以下步骤操作:

  • 删除(或禁用该功能)finishBuildTrigger
  • 从步骤B到步骤A添加新的快照依赖项(在下面的屏幕快照中,其配置从Deploy配置为Build
  • 使用REST API触发 步骤B 的构建

它是这样的:

enter image description here

根据文档:

  

通过快照依赖关系链接的构建配置可以选择使用修订同步来确保源快照相同。

简而言之,快照依赖关系是一种机制,用于强制执行由构建链构建的源的相同版本(快照)。

有关更多详细信息,请参见official documentation