Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何为多个提交触发一个TeamCity构建,但一个合并到分支中_Git_Continuous Integration_Teamcity_Teamcity 7.1 - Fatal编程技术网

Git 如何为多个提交触发一个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

我正试图为风投的单一合并触发单一teamcity构建。我的CI的布局方式是一个分支暂存,我们将所有更改合并到其中。然后,当我们想要部署到生产环境时,我们将登台合并到git中的主分支中。不幸的是,这会触发很多构建,可能每次签入staging分支都会触发一个构建。因此,我们希望它是一个单一的构建。因为这是主分支的一次合并

那么,有没有人知道,无论有多少不同的人进行了多少次签入,如何在风投变更的基础上触发单个构建

我在TeamCity的构建触发器中选择的选项如下

 Trigger a build on each check-in
 Include several check-ins in a build if they are from the same committer
我想我可以用一个定制的构建触发器来实现,但我不想走这条路


提前谢谢你的帮助

您需要为正在处理暂存合并的分支使用或重写

我猜,为了只为该分支指定静默期,您可能需要一个单独的构建配置。以您的主构建配置为例,在您管理它的任何屏幕上,您都会看到右侧的“提取模板”按钮


然后,您可以使用该模板为您的暂存分支创建另一个构建配置,并覆盖触发器上的静默期。

这是违反直觉的,取消选中
触发每个签入的构建
复选框应该可以解决此问题,只要您启用了足够长的静默期,以包括所有签入


本质上,
在每个签入时触发生成实际上意味着“在每个生成中仅包含1个签入”。禁用该选项仍将导致生成由签入触发,但将包括在生成实际启动之前发生的所有签入(来自所有用户)。TeamCity应该在他们的文档中澄清这一点,或者重命名该选项。

是的,这解决了它。如果你查看文档,它会更清晰一些,但是对话框并不清晰。