Git 如何为多个提交触发一个TeamCity构建,但一个合并到分支中
我正试图为风投的单一合并触发单一teamcity构建。我的CI的布局方式是一个分支暂存,我们将所有更改合并到其中。然后,当我们想要部署到生产环境时,我们将登台合并到git中的主分支中。不幸的是,这会触发很多构建,可能每次签入staging分支都会触发一个构建。因此,我们希望它是一个单一的构建。因为这是主分支的一次合并 那么,有没有人知道,无论有多少不同的人进行了多少次签入,如何在风投变更的基础上触发单个构建 我在TeamCity的构建触发器中选择的选项如下Git 如何为多个提交触发一个TeamCity构建,但一个合并到分支中,git,continuous-integration,teamcity,teamcity-7.1,Git,Continuous Integration,Teamcity,Teamcity 7.1,我正试图为风投的单一合并触发单一teamcity构建。我的CI的布局方式是一个分支暂存,我们将所有更改合并到其中。然后,当我们想要部署到生产环境时,我们将登台合并到git中的主分支中。不幸的是,这会触发很多构建,可能每次签入staging分支都会触发一个构建。因此,我们希望它是一个单一的构建。因为这是主分支的一次合并 那么,有没有人知道,无论有多少不同的人进行了多少次签入,如何在风投变更的基础上触发单个构建 我在TeamCity的构建触发器中选择的选项如下 Trigger a build on
Trigger a build on each check-in
Include several check-ins in a build if they are from the same committer
我想我可以用一个定制的构建触发器来实现,但我不想走这条路
提前谢谢你的帮助 您需要为正在处理暂存合并的分支使用或重写 我猜,为了只为该分支指定静默期,您可能需要一个单独的构建配置。以您的主构建配置为例,在您管理它的任何屏幕上,您都会看到右侧的“提取模板”按钮
然后,您可以使用该模板为您的暂存分支创建另一个构建配置,并覆盖触发器上的静默期。这是违反直觉的,取消选中
触发每个签入的构建
复选框应该可以解决此问题,只要您启用了足够长的静默期,以包括所有签入
本质上,
在每个签入时触发生成实际上意味着“在每个生成中仅包含1个签入”。禁用该选项仍将导致生成由签入触发,但将包括在生成实际启动之前发生的所有签入(来自所有用户)。TeamCity应该在他们的文档中澄清这一点,或者重命名该选项。是的,这解决了它。如果你查看文档,它会更清晰一些,但是对话框并不清晰。