如何让 TeamCity 只为默认分支部署构建?

How to make TeamCity only deploy builds for the default branch?

我们的 TeamCity 流程基本上涉及 3 "Build Configurations" 即 运行 的顺序:

  1. 构建步骤,由源代码控制触发(在我们的例子中 GitHub):MSBuild 构建所有内容,并创建一个包含所有单元测试二进制文件的工件,以及几个部署包工件,每个网站一个在 Visual Studio解决方案。
  2. 单元测试步骤,由步骤 1 的成功触发。这会选择单元测试二进制文件工件和 运行 单元测试。
  3. 部署步骤,由第 2 步的成功触发。每个步骤都选择相关的部署包工件并进行部署。

我最近修改了第 1 步,以从 GitHub 上的 Pull Request 分支获取更改,以便可以使用构建结果更新 Pull Request。我还想 运行 每个合并请求的单元测试,但显然在这些情况下不做任何部署。

所以第 1 步有一个分支过滤器来匹配默认分支或 Pull Request 分支。我可以在步骤 2 中更新触发器以也具有此分支过滤器。但是,部署步骤中的触发器没有分支过滤器的选项。

我如何才能仅 运行 从默认分支构建的部署步骤?

我的解决方案是专门为合并请求创建一个新的构建配置;这包含进行编译和 运行 单元测试的构建步骤。